【问题标题】:'return' after a CLGeocoder has reverse geocoded data在 CLGeocoder 具有反向地理编码数据后“返回”
【发布时间】:2012-09-03 18:50:14
【问题描述】:

如何仅在完成反向地理编码数据后返回自定义初始化方法?

有没有办法做到这一点?我以为我应该在completionHandler的末尾添加'return self',但这只是返回init方法,而不是返回init方法。

感谢所有帮助,并在此先感谢! :)

【问题讨论】:

    标签: objective-c reverse-geocoding clgeocoder


    【解决方案1】:

    您可以将方法选择器视为数据

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-02
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      相关资源
      最近更新 更多