核心位置与 RestKit 结合

Posted

技术标签:

【中文标题】核心位置与 RestKit 结合【英文标题】:Core Location In Conjunction with RestKit 【发布时间】:2012-07-26 10:35:28 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

不要在 AppDelegate 上询问位置。

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

成功获取位置后,会触发协议方法,删除此处的弹出视图并发送带有获取坐标的 RestKit 调用。

【讨论】:

当一个带有活动指示器的视图出现时,RootViewController 是否会停在那里直到视图从堆栈中弹出? 不.. 根控制器不会停止。但是带有活动指示器的视图应该隐藏它。在确定位置之前不要发送其余呼叫。

以上是关于核心位置与 RestKit 结合的主要内容,如果未能解决你的问题,请参考以下文章

带有 Core Data 陡峭学习曲线的 RestKit 0.10.1

Restkit 核心数据与 NSManagedObjectContext 集成

RestKit 将托管对象与非托管对象结合起来

restkit:映射 to_many 与核心数据的关系

删除请求并将 RESTkit 与核心数据和线程同步

RestKit:如何删除核心数据条目以保持内容与服务器同步?