Objective c 获取依赖于上一个连接的多个json对象时,最好使用NSUrlConnection
我所做的是查询一个API来搜索各种数据库中的文章。涉及多个步骤,每个步骤都返回一个json对象。每个步骤都涉及到一个NSUrlConnection,该连接使用不同的查询字符串连接到API 步骤1:返回json对象,指示查询和记录集ID的状态 步骤2:从步骤1中获取记录集id,并返回可用于查询的有效数据库列表 步骤3:查询从步骤2中准备好的每个数据库,并获取包含结果的json数据数组Objective c 获取依赖于上一个连接的多个json对象时,最好使用NSUrlConnection,objective-c,json,nsurlconnection,querying,Objective C,Json,Nsurlconnection,Querying,我所做的是查询一个API来搜索各种数据库中的文章。涉及多个步骤,每个步骤都返回一个json对象。每个步骤都涉及到一个NSUrlConnection,该连接使用不同的查询字符串连接到API 步骤1:返回json对象,指示查询和记录集ID的状态 步骤2:从步骤1中获取记录集id,并返回可用于查询的有效数据库列表 步骤3:查询从步骤2中准备好的每个数据库,并获取包含结果的json数据数组 我不知道最好的办法是什么。使用一个nsurlconnection并在connection中重新打开该连接是否更好?
我不知道最好的办法是什么。使用一个nsurlconnection并在connection中重新打开该连接是否更好?是否根据我所处的步骤完成加载。还是在每个后续连接结束时打开一个新连接更好?几点观察
NSOperationQueue
,带有一些合理的maxConcurrentOperationCount
设置(例如4或5,足以享受并发性并减少延迟,但不至于对设备或服务器征税),并提交网络操作。在这种情况下,您可能会提交步骤1,完成操作将提交步骤2,完成操作将提交一系列步骤3请求,这些步骤3请求可能会并发运行
关于如何创建一个好的网络操作对象,我可能建议使用类似的东西,它已经有了一个不错的网络操作对象(包括一个解析JSON的对象),所以您可以从这里开始
就重新使用NSURLConnection
而言,通常每个请求有一个连接。如果我有一个应用程序希望与服务器进行长时间的消息交换(例如,一个类似聊天的服务,您希望服务器能够随时向客户端发送消息,例如在聊天服务中),我已经完成了一个套接字实现,但这似乎不是正确的体系结构我会关闭第一个连接,并为每个连接创建一个新连接 只是,别问我为什么
顺便说一句,如果这是关于在一些性能敏感的上下文(如滚动表格或动画)中重用或创建新对象的问题,或者如果这只是发生在10000次迭代中的问题,我会理解。但您所说的是创建新对象或重用旧对象的3个对象。想一想都有什么好处 当你说要创建一个新的连接时,你的意思是要在ConnectionIDFinishLoading函数中为前一个连接创建一个新的连接吗?ConnectionIDFinish听起来很合理。