gpt4 book ai didi

ios - CLPlacemark 属性为零时的处理

转载 作者:行者123 更新时间:2023-11-29 01:48:57 24 4
gpt4 key购买 nike

我有一个标签显示属于确切地理位置的街道名称。我正在从 placemarkStreet 变量中检索街道名称,它工作正常,但有时当我登录 placemark.thoroughfare 时,它是一个 (null)在控制台上。我知道这是因为它是一个 nil,但是当它是一个 nil 时,我无法编写适当的 if 语句来处理这种情况。当值为 nil 时,下面的 if 语句基本上都不起作用,所以如果有人能告诉我如何处理这个问题的正确方法,我将不胜感激。

 [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Finding address");

if (error) {
NSLog(@"Error %@", error.description);

} else {

CLPlacemark *placemarkStreet = [placemarks lastObject];

NSLog(@"placemark %@", placemarkStreet.thoroughfare);

// 1. attempt
if ([placemarkStreet.thoroughfare isEqualToString:@"(null)"]) {

// do something
}

// 2. attempt
if (!placemarkStreet.thoroughfare) {

// do something
}
}];

最佳答案

第一次尝试不会成功,因为您正在调用 nil 上的方法,该方法总是返回 false/0/nil。 @"(null)" 正是 NSLog 表示 nil 值的方式。

第二次尝试应该有效 - 它相当于

if (placemarkStreet.thoroughfare == nil) {

关于ios - CLPlacemark 属性为零时的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31627653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com