NSURLSession助手类

时间:2014-04-10 11:25:13

标签: ios objective-c core-data nsurlsession

我现在正在为我的第一个非常大的应用程序工作。此应用程序将具有服务器通信和数据下载/上载。

我想在开始时创建一个良好的服务器通信设计,所以当遇到一些问题时我不会经常改变它。

我的问题是关于NSURLSession。 在我看来,我有3个选择:

1 - 创建一个将管理所有服务器流量的serverCommunicator助手类

2 - 从viewController本身与服务器进行所有通信

3 - 仅创建一个辅助类来创建会话任务,并在viewController中使用该任务和一个完成处理程序来管理返回的数据

什么是更好的设计? 如果还有其他选项或帮助类,请让我们知道..

谢谢,

1 个答案:

答案 0 :(得分:1)

这有点基于意见,但是:

我使用数据控制器类。我的视图控制器对本地/远程数据之间的区别一无所知。有关数据访问的所有内容都将由数据控制器控制,并且它提供的接口始终具有异步功能(使用回调块)。

我放弃NSURLSession并使用RestKit(它不支持NSURLSession是的,支持是正在进行中的工作)因为它将外部数据模型映射到您的内部数据模型非常简单。如果我确实需要使用NSURLSession来表示某些事情,那么我可以将该用法仅用于该活动。

我的数据控制器将拥有Core Data堆栈(虽然RestKit会创建堆栈)并调解对它的访问。数据控制器也是单例。数据控制器是唯一知道外部数据模型的类(尽管一些内部数据模型类可能包含从外部转换过程中使用的验证逻辑 - > internal)。