这让我困惑了一段时间,所以任何建议都会受到赞赏。
我有10个NSURLSessionUploadTasks
同时启动,并且从viewDidLoad
异步发生:
[self uploadMainInformation];
[self uploadSubInformation];
[self uploadLocation];
[self uploadMainPhoto];
[self uploadSubPhoto1];
[self uploadSubPhoto2];
等。我正在使用数组来说明使用完成处理程序完成任务的时间。但是,我很难过如何轮询数组以找出它是空的。在每个会话的开始和结束时添加和删除开始和结束都很容易。我只是不知道如何轮询一个空数组。
是否可以追踪NSMutableArray
何时为空?或者有一个更好的解决方案,我不知道,似乎无法找到?我只希望开始10个同步上传,并知道他们何时完成(成功)。
提前感谢您的任何帮助。这让我疯了。
答案 0 :(得分:1)
在NSURLSession
上设置委托,并添加方法:
- (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session;
答案 1 :(得分:0)
为什么阵列如此复杂?只需添加一个计数器,一个简单的int,在发出请求时递增它,并在请求完成或发生错误时递减它。当计数器的值回到0时,它们都是完整的。
无论如何,当NSArray
方法返回0时,count
为空。