2012-07-26 102 views
0

我在我的应用程序中使用RestKit进行所有网络/网络呼叫。启动时,在AppDelegate中,我开始更新用户的位置。当用户批准应用程序使用该位置时(首次启动时),应用程序将移至RootViewController并启动RestKit HTTP调用。 HTTP调用需要用户的位置,因此会失败。与RestKit结合的核心位置

有什么办法解决这个问题?在利用RestKit的并发性时如何使用Core Location?

我知道,应用程序的结构(在检索Web服务时更新UI)的方式是非常危险的。我试图尽量避免重构(管理命令)。有什么办法解决这个问题?

回答

0

不要求在AppDelegate上的位置。

改为导航到RootController并在ViewDidLoad中,调用startUpdatingLocation &立即弹出一个处理图像的视图,如UIActivityIndi​​cator。

成功获取位置后,会触发一个协议方法,在此处删除弹出式视图,并用获取的坐标发送RestKit Call。

+0

当一个视图出现带有活动指示符时,RootViewController会在视图从堆栈中弹出之前停止在那里吗? – darksky 2012-07-26 11:18:41

+0

nope ..根控制器不会停止。但带有活动指示符的视图应该隐藏它。在确定位置之前,不要发送其他呼叫。 – tGilani 2012-07-27 04:41:16