取消之前的NSOperation?

时间:2014-08-20 09:54:22

标签: ios nsoperation nsoperationqueue

我有太多经常被调用的方法。当我再次调用相同的方法时,如果仍然没有执行,我不需要前一次调用的结果。我的解决方案:

@property (nonatomic, strong) NSOperationQueue *operationQueue;
@property (nonatomic, strong) NSOperation *callMethodWithParamOperation;

[self callMethodWithParam:param1];
...
[self callMethodWithParam:param2];

- (void)callMethodWithParam:(id)param {

    [self.callMethodWithParamOperation cancel];
    self.callMethodWithParamOperation = ...;
    [operationQueue addOperation:self.callMethodWithParamOperation];
}

问题是有很多方法callMethodWithParam:并且我的解决方案必须为每个方法创建一个属性。我可以在方法中创建一个静态变量,但它更糟糕,因为我仍然需要为每个方法创建一个变量,另外我必须手动保留它的值,这可能会导致内存麻烦。

是否有更简单的方法来实现此行为?

0 个答案:

没有答案