Я создал собственный подкласс NSOperation и переписал метод main
.
@interface WGTask : NSOperation
@property(readonly) BOOL isExecuting,isFinished;
@end
@implementation WGTask
@synthesize isExecuting,isFinished;
- (void)start {
...
[self willChangeValueForKey:@"isFinished"];
isFinished=YES;
[self didChangeValueForKey:@"isFinished"];
...
}
@end
Но этот код вызывает ошибку EXC_BAD_ACCESS. Удаление [self didChangeValueForKey:@"isFinished"]
и [self willChangeValueForKey:@"isFinished"]
решает проблему, но даже если значение isFinished
правильно обновлено, NSOperationQueue не удаляет операцию!