首先,我认为 iPad 只有一个 NIC(或任何硬件)来处理连接。因此请求按顺序排队和服务,并且不能同时运行 2 个连接。这个猜测是真的吗?
我有UITabBar
控制器,每个选项卡的视图控制器下载并解析不同的 JSON 提要 URL。我创建了一个单例类,它从单个 URL 下载提要,然后解析它并在工作完成时调用其中一个视图控制器的委托函数。为了不挂起主线程,我决定使用异步连接。
URLConnection4Target * _conn = [[URLConnection4Target alloc] initWithRequest:request delegate:self startImmediately:NO];
因此,所有选项卡都可以从同一个窗口访问(不是一个接一个地导航),并且它们对不同的提要使用不同的 URL。
我的问题是如何在单例类中设计连接以按顺序(或如果可能的话同时)为多个视图控制器提供服务。
我尝试使用NSInvocationOperation
是因为我不确定如果用户单击一个选项卡并访问该NSURLConnection
对象而其他视图控制器已经可以访问该对象会发生什么。