20

在我的 iOS 应用程序中,我试图从(RESTful)服务器获取和发布数据。我认为 RestKit 和 AFIncrementalStore 都是不错的选择。但是,我还需要能够离线保存数据并在应用程序在线时将其推送到服务器。

我试图了解哪个是用于应用程序的更好框架。

此外,从一些在线资源来看,似乎在 AFIncrementalStore 上使用错误可能会导致处理 ManagedContext(通常是 mainThread)的线程在提供网络请求以获取属性时卡住。有什么大不了的吗?

PS:添加afnetworking标签,因为afincrementalstore标签不可用

4

1 回答 1

28

AFIncrementalStore 在核心数据中工作,发送回您的 Web 服务。它使用 Apple 提供的称为 NSIncrementalStore 的相对较新的 API。

RestKit 从 Core Data 外部工作,使用 RK 提供的对象映射架构松散地将 HTTP 请求绑定到 Core Data。

以下是两者的一些优点和缺点:

  • 新的 RestKit 版本 (0.2.x) 比 0.1 版本更轻
  • RestKit 现在使用非常好的 AFNetworking 来处理他的所有 HTTP 请求工作,就像 AFIncrementalStore 一样。
  • ResKit 有很多测试覆盖率
  • AFIS 真的很轻,因为它建立在 NSIncrementalStore 之上
  • AFIS 给你更多的灵活性,因为你几乎是靠自己的
  • RestKit 非常庞大,一开始可能会很吓人
  • RestKit 是一个完整的解决方案,但需要时间来完全理解它的所有概念

我的最终建议是花时间尝试两者。我可以确认的是,您需要使用 AFIS 删除更多代码行,因为它不像 RestKit 那样需要您手动操作,所以这确实是一个偏好问题。

希望这能帮助您做出正确的选择!

于 2012-12-13T15:20:50.917 回答