在過去的2個小時中,我一直在努力實現CLGeocoder
類方法,該方法用於地理位置的反向地理編碼。對CLGeocoder類方法進行反向地理編碼的方法感到困惑
被設置用於下CLGeocode
類參考Xcode
文檔中此方法的代碼是這樣的:
- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler
我試圖用在我的代碼,並沒有任何運氣。所以我查看了一些舊的stackoverflow問題,發現一個實現最終爲我工作。
這是對我的作品的代碼:
-(IBAction)gpsButton {
CLGeocoder *geocoder = [[CLGeocoder alloc]init];
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error){
CLPlacemark *placemark = placemarks[0];
NSLog(@"Found %@", placemark.thoroughfare);
}
];
}
我不明白的是爲什麼Xcode的文件包括(CLLocation *)和(CLGeocodeCompletionHandler)時,這不是真的是多麼的最終代碼需要看。
它只是試圖提醒我,「位置」對象應該是CLLocation類的實例,並且「completionHandler」對象應該是CLGeocodeCompletionHandler類的實例嗎?
是否試圖提醒我,在實現此方法之前,我需要爲CLLocation
類和CLGeocodeCompletionHandler
類創建和初始化對象,以便該方法可以正常工作?如果是這種情況,爲什麼CLLocation
在xcode示例中有一個指針,但是CLGeocodeCompletionHandler
不是?
我意識到這是一個「基本面」類型的問題,但我已經瀏覽了一些我的參考資料,他們解釋事物的方式真的沒有幫助我解決當前的困惑。
謝謝你的幫助。
不可能是一個更完美的答案。謝謝! – user3117509