2012-07-24 46 views
0

我需要操作的指标加入NSOperationQueue,并希望它的工作原理是这样的:如何在向NSOperationQueue添加内容时获取索引?

@interface MyOperation : NSObject { 
     NSInteger index; 
     /* Do Something */ 
} 

下面将myOperation的指数成员设置为它operationQueue的位置。

[operationQueue addOperation:myOperation] 

编辑: 其实我使用的NSMutableDictionary来操作的指标作为存储对象和操作的名称为keys.Like这样的:

NSNumber* indexOfOperationInQueue; 
    NSMutableDictionary *dictionary; 
    ... 
    -(void) AddOperation { 
     indexOfOperationInQueue = [NSNumber numberWithInt:value + 1]; 
     [dictionary setObject:indexOfOperationInQueue forKey:@"operation0"]; 
    } 

操作被取消,crosspond键和对象中删除。

回答

0

您将一个索引分配给队列中的操作的问题是,当队列被清除时,它们的索引将会改变。你为什么不给他们分配序数值。

添加一个超类为您的操作与下一个索引类变量,像

- (void) addToOperationQueue:(NSOperationQueue)queue; 

的方法,其设定从类变量的指标值。

0

您可以将使用NSOperationQueue创建的每个操作添加到NSMutableArray,然后从该数组访问操作。