Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSURLSession助手类_Ios_Objective C_Core Data_Nsurlsession - Fatal编程技术网

Ios NSURLSession助手类

Ios NSURLSession助手类,ios,objective-c,core-data,nsurlsession,Ios,Objective C,Core Data,Nsurlsession,我现在正在为客户开发我的第一个真正大的应用程序。此应用程序将具有服务器通信和数据下载/上传功能 我想在一开始就创建一个好的服务器通信设计,这样在遇到一些问题时就不必对其进行太多更改 我的问题是关于NSURLSession的。 在我看来,我有3个选择: 1-创建一个serverCommunicator帮助器类,该类将管理所有服务器通信 2-从viewController本身执行与服务器的所有通信 3-创建助手类仅用于创建会话任务,并在viewController中使用该任务和完成处理程序来管理返回

我现在正在为客户开发我的第一个真正大的应用程序。此应用程序将具有服务器通信和数据下载/上传功能

我想在一开始就创建一个好的服务器通信设计,这样在遇到一些问题时就不必对其进行太多更改

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

1-创建一个serverCommunicator帮助器类,该类将管理所有服务器通信

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

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

更好的设计是什么? 如果您知道有其他选项或助手类,请告知e


谢谢,

这有点基于观点,但是:

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

我会放弃
nsursession
并使用RestKit(它不支持
nsursession
是的,支持正在进行中),因为它使得将外部数据模型映射到内部数据模型非常容易。如果我确实需要为某些事情使用
NSURLSession
,很好,但我只会为该活动明确使用该用法


我的数据控制器将拥有核心数据堆栈(尽管RestKit将创建该堆栈),并协调对它的访问。数据控制器也将是一个单体。data controller是唯一了解外部数据模型的类(尽管一些内部数据模型类可能包含从external->internal转换期间使用的验证逻辑)。

数据控制器如何封装来自VCs的本地/远程采集?使用AFNetworking/RestKit怎么样?很多事情要考虑,你还没有给出你将使用什么服务的细节,他们的反应,本地数据存储等等…嘿,Wain,我使用NSURLIST来创建请求,我有一个本地数据库的CORIDATA,还有服务器DB。将返回的JSON直接映射到核心数据?有时我需要持久化到CoreData或NSUserDefaults,有时只是将数据返回给用户,所以建议不要使用帮助器类,并在每个操作中使用它的实例?你说的dataCntroller是什么意思?就我个人而言,是的,我不会使用helper类,因为它为VC提供了网络需求方面的知识。就我个人而言,我喜欢将这些知识分开。我决定接受你的建议并过渡到RestKit,谢谢