RestKit 和 AFIncrementalStore 的区别
Posted
技术标签:
【中文标题】RestKit 和 AFIncrementalStore 的区别【英文标题】:Differences between RestKit and AFIncrementalStore 【发布时间】:2012-12-13 09:48:19 【问题描述】:在我的 ios 应用程序中,我正在尝试从(RESTful)服务器获取和发布数据。我认为 RestKit 和 AFIncrementalStore 都是不错的选择。 但是,我还需要能够离线保存数据并在应用程序在线时将其推送到服务器。
我正在尝试了解哪个框架更适合用于应用程序。
此外,从一些online resources 看来,似乎在 AFIncrementalStore 上使用错误可能会导致处理 ManagedContext(通常是 mainThread)的线程在提供网络请求以获取属性时卡住。有什么大不了的吗?
PS: 添加 afnetworking 标签,因为 afincrementalstore 标签不可用
【问题讨论】:
【参考方案1】: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 那样需要您手动操作,所以这确实是一个偏好问题。
希望这将帮助您做出正确的选择!
【讨论】:
感谢您分享您的观点。我将开始尝试使用 RestKit(因为 AFIncrementalStore 带来的优势是属性错误,这在我现在的功能优先级中并不高)。以上是关于RestKit 和 AFIncrementalStore 的区别的主要内容,如果未能解决你的问题,请参考以下文章