我试图继承一个 NSOperation,并从中读取一些示例,他们说:当任务完成时,使用 NSOperation 的 KVO 来完成操作,代码在这里:
[self willChangeValueForKey:@"isFinished"];
[self willChangeValueForKey:@"isExecuting"]
finished = YES;
executing = NO;
[self didChangeValueForKey:@"isFinished"];
[self didChangeValueForKey:@"isExecuting"];
然后 isFinished 被调用
- (BOOL) isFinished{
return(finished);
}
任何人都可以向我解释这个吗?为什么 isFinished 被调用,isFinished 会完成操作吗?据我了解,KVO 是否需要手动 [self didChangeValueForKey:@"isExecuting"]; 而且我没有看到像 addobserver: 和 observeValueForKeyPath: 这样的代码
我写的
-(void)call
{
[self willChangeValueForKey:@"isVip"];
[self didChangeValueForKey:@"isVip"];
}
-(void)isVip
{
NSLog(@"Im vip");
}
do [self call]时不调用isVip;