我创建了一个接收坐标的对象,并假设在对其进行反向地理编码之后返回地标。问题是这种方法是同步的,所以我需要一种方法,一旦找到它就返回地标。在我的视图控制器我称之为:如何从目标c中的实例化对象返回值?
[getzip reverseGeocodeCurrentLocation:coordinate];
其中getzip是一个对象的实例实现的(这仍然是空在我的情况....):
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
现在,一旦我进入reverseGeocoder:didFindPlacemark,我怎样才能将地标返回给viewcontroller?
我试图做同样的事情,正如我在一些使用LocationManager执行的例子中看到的,其中locationUpdate方法是从locationManager调用的:didUpdateToLocation:fromLocation,并在viewcontroller中实现locationUpdate,但它不起作用。换句话说,我这样做:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
{
[self.delegate setPlacemark:placemark];
}
,并在视图控制器实现setPlacemark,但它不从某些原因(顺便说一句,地标是正确的,一旦我打电话setPlacemark:地标之内reverseGeocoder)得到setPlacemark。
谢谢!
你确定'self.delegate'不是'nil'吗? –
“'[self.delegate setPlacemark:placemark];'并在视图控制器中实现了'setPlacemark',但它没有从某种原因到达'setPlacemark'”您是否将视图控制器设置为委托? – albertamg
如何将视图控制器设置为委托?对不起,新的目标c ... – TommyG