在iPhone项目中,我有一个NSOperationQueue,它处理与服务器的通信,我的appDelegate对象和上传作业,如下所示:
@interface UploadOperation : NSOperation
- (id)initWithItem:(NSDictionary*)anItem;
@end
Run Code Online (Sandbox Code Playgroud)
我正在根据用户的请求将项目推送到触发上传的NSOperationQueue.一切都很好,但我想阻止相同的上传操作发生超过一次.换句话说,如果上传未完成,请不要将同一项目推送到上传队列.
是否可以使用NSOperationQueue方法,或者我必须使用"当前在队列中的项目"数组来管理它?
首先确保你的NSOperation子类' hash并isEqual:实现,以便尝试上传相同内容的两个实例被认为是相等的.
然后加入一个新的操作之前,首先检查是否已经有在队列中的相同操作,通过调用containsObject:通过调用返回的数组上operations上NSOperationQueue.
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |