我正在做一个应用程序,其中来自用户的图像被一起拍摄并保存在NSMutableArray
中。
即使有一张图片开始播放,我也需要逐张将图片上传到服务器though images are taken together
我正在使用[NSThread detachNewThreadSelector:@selector(uploading:) toTarget:self withObject:imagearray];
逐个上传图片。我需要向用户显示progressview,因为图像是逐个上传的。
上传一张图片后如何通知?
或者除了NSThread + NSNotification之外还有其他任何有用的场景吗?
答案 0 :(得分:0)
如果您不知道有多少听众,您应该使用通知,并且您只需发布有关内容的通知。在您的情况下,您可能只有一个视图控制器,因此不需要使用通知,因此只需为委托创建一些协议并在视图控制器中实现它。如果您需要更新UI,那么您还应该使用performSelectorOnMainThread
调用所有委托方法。
答案 1 :(得分:0)
我喜欢使用类似于“委托”范例的东西,但是考虑线程而不是对象。因此,上传线程在主线程上委托,因为它是用于更改用户界面的线程。 例如,上传线程可以发送部分上传进度的消息
[self performSelectorOnMainThread:@selector(uploadProgression:)
withObject:foo waitUntilDone:NO]
或完成每个完整的上传
[self performSelectorOnMainThread:@selector(uploadDidEnd:) withObject:foo
waitUntilDone:YES]
我想您不必停止上传以更新progessView中的部分进度,但您需要在上传结束时等待,以免重复上传线程启动新上传。