Когда мой наблюдатель говорит мне, что операций больше нет, функция не вызывается (performSelector ...). Забавно, что NSLog («очередь очереди» завершена ») регистрируется правильно.NSOperationQueue закончил не запускать новый метод
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context
{
if (object == self.operationQueue && [keyPath isEqualToString:@"operations"]) {
if ([self.operationQueue.operations count] == 0)
{
[self performSelector:@selector(refreshCollectionView) withObject:nil afterDelay:0.2];
// Do something here when your queue has completed
NSLog(@"queue has completed");
}
}
else {
[super observeValueForKeyPath:keyPath ofObject:object
change:change context:context];
}
}
EDIT
Понял:
dispatch_async(dispatch_get_main_queue(), ^{
[self performSelector:@selector(refreshCollectionView) withObject:nil afterDelay:0.2];
});
Незнайка почему performSelectorOnMainThread ... не работал, но он работает таким образом.
любое предложение как? – user1832330
получил его, но doesnt работает в любом случае:/любой метод не запускается (даже если я помещаю вещи из refreshCollectionView внутри очереди в полный комплект) – user1832330