我需要将我的操作索引添加到NSOperationQueue中,并希望它的工作方式如下:
@interface MyOperation : NSObject {
NSInteger index;
/* Do Something */
}
以下将myOperation的索引成员设置为operationQueue中的位置。
[operationQueue addOperation:myOperation]
编辑: 实际上我使用NSMutableDictionary将操作索引存储为对象和操作的名称作为键。就像这样:
NSNumber* indexOfOperationInQueue;
NSMutableDictionary *dictionary;
...
-(void) AddOperation {
indexOfOperationInQueue = [NSNumber numberWithInt:value + 1];
[dictionary setObject:indexOfOperationInQueue forKey:@"operation0"];
}
操作已取消,crosspond键和对象已删除。
答案 0 :(得分:0)
您可以使用NSOperationQueue将您创建的每个操作添加到NSMutableArray,然后从该数组中访问操作。
答案 1 :(得分:0)
为队列中的操作分配索引的问题是,在清除队列时,它们的索引会发生变化。你为什么不直接为它们分配序数值。
为您的操作添加一个超类,为下一个索引添加一个类变量,以及一个类似
的方法- (void) addToOperationQueue:(NSOperationQueue)queue;
从类变量中设置索引值。