为什么CLGeocoder在通话时崩溃

时间:2018-06-25 12:46:51

标签: objective-c macos cocoa mapkit core-location

我想在Mac上将地址转换为位置,以进行路由。

我正在使用

[[CLGeocoder alloc] geocodeAddressString:@"1 Infinite Loop, Cupertino, CA 95014" 
                       completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        if(error){
            NSLog(@"%@", error);
        }
        if(placemarks){
            NSLog(@"%@", placemarks);
        }
    }];

在运行时,代码片段第一行的执行失败,并出现Bad Overcess。 有谁知道如何克服这个问题?

1 个答案:

答案 0 :(得分:1)

您需要初始化CLGeocoder

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
[geoCoder geocodeAddressString:@"1 Infinite Loop, Cupertino, CA 95014"
             completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
                 if(error){
                     NSLog(@"%@", error);
                 }
                 if(placemarks){
                     NSLog(@"%@", placemarks);
                 }
             }];