我有太多经常被调用的方法。当我再次调用相同的方法时,如果仍然没有执行,我不需要前一次调用的结果。我的解决方案:
@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:
并且我的解决方案必须为每个方法创建一个属性。我可以在方法中创建一个静态变量,但它更糟糕,因为我仍然需要为每个方法创建一个变量,另外我必须手动保留它的值,这可能会导致内存麻烦。
是否有更简单的方法来实现此行为?