异步调用(特别是iOS地理编码)

时间:2011-12-25 03:38:41

标签: iphone ios asynchronous geocoding

我想知道如何处理这个特殊问题:

我正在创建一个place对象,它使用地理lat-long对进行初始化。然后我使用iOS地理编码器获取该坐标的地址。我想将该地址设置为我的一个实例变量。但是,这个异步调用没有及时完成,所以当我实例化我的对象并尝试显示地址时,它还没有完成。有哪些策略可以解决这个问题和类似问题?

谢谢!圣诞快乐!

1 个答案:

答案 0 :(得分:1)

我不想在圣诞节前夕创建一个广泛的答案,因此我现在暂时给出一个简短的答案,如果您有疑问和/或想要了解更多细节,请稍后再编辑。

异步请求都具有委托/协议方法,可以在请求失败或成功时通知您。您应该使用NSNotification API并注册需要该地址的任何对象,以便在对象完成请求时触发通知。当对象收到通知时,它可以配置其视图或其需要做的任何事情。在requestDidFinish(或其他)方法中,您应该发送通知。

查看这篇文章了解详细信息(以及一些关于线程的很酷的东西!):http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial