【发布时间】:2012-09-03 18:50:14
【问题描述】:
如何仅在完成反向地理编码数据后返回自定义初始化方法?
有没有办法做到这一点?我以为我应该在completionHandler的末尾添加'return self',但这只是返回init方法,而不是返回init方法。
感谢所有帮助,并在此先感谢! :)
【问题讨论】:
标签: objective-c reverse-geocoding clgeocoder
如何仅在完成反向地理编码数据后返回自定义初始化方法?
有没有办法做到这一点?我以为我应该在completionHandler的末尾添加'return self',但这只是返回init方法,而不是返回init方法。
感谢所有帮助,并在此先感谢! :)
【问题讨论】:
标签: objective-c reverse-geocoding clgeocoder
您可以将方法选择器视为数据
SEL theSelector = @selector(initWithStuff:);
theSelector 现在可以像任何其他原始数据类型一样被传递。
使用ARC调用init方法选择器与performSelector:,如
id result = [target performSelector:theSelector];
有点棘手,因为编译器不知道需要释放返回值。如果您可以改用类方法,那么您可以忍受编译器给您的警告或用
包装那段代码#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
id result = [[Target class] performSelector:theSelector];
#pragma clang diagnostic pop
【讨论】: