NSOperation
同時に実行したいサブクラスがあります。
私の理解では、同時操作が機能するということです:
isConcurrent
returnを定義する必要がありますYES
。start
メソッドを定義する必要があります- 完了したら、KVO 通知を送信する必要があり
isExecuting
ますisFinished
。 - を使用すると、との値が変更され
@synthesize
たときに、適切な KVO 通知が自動的に送信されます。isExecuting
isFinished
それにもかかわらず、キューが次のアイテムに移動しないことを確認しました。
ここに私のコードの肉があります:
@interface MyOperation()
@property (readwrite) BOOL isExecuting;
@property (readwrite) BOOL isFinished;
@end
@implementation MyOperation
- (void)start
{
@autoreleasepool {
self.isExecuting = YES;
self.HTTPOperation = [[AFHTTPRequestOperation alloc] initWithRequest: URLRequest];
_HTTPOperation.completionBlock = [^{
[self completed];
self.isExecuting = NO;
self.isFinished = YES;
} copy];
[_HTTPOperation start];
}
}
- (BOOL)isConcurrent
{
return YES;
}
- (void)completed
{
}
@end
私は何が欠けていますか?
(これはiPhone上ですが、それが重要だとは想像できません。)