NSMetadataQuery освобождается без предварительного вызова stopQuery? - PullRequest
1 голос
/ 23 апреля 2019

У меня возникла проблема, которая печатает это сообщение журнала, когда я запускаю приложение

<NSMetadataQuery: 0x6000000f1200> is being deallocated without first calling -stopQuery. To avoid race conditions, you should first invoke -stopQuery on the run loop on which -startQuery was called

этот мой запрос medatadata

@property (strong) MetadataQuery *query;
self.query = [[MetadataQuery alloc] init];
        self.query.sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:(id)kMDItemFSName ascending:YES]];
        self.query.predicate = SearchPredicateForType(type);
        self.query.delegate = self;
        self.query.searchScopes = @[_searchURL.absoluteString];
        self.query.notificationBatchingInterval = 10.0;

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(metadataQueryDidFinishGathering_Notification:) name:NSMetadataQueryDidFinishGatheringNotification object:self.query];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(metadataQueryDidUpdate_Notification:) name:NSMetadataQueryDidUpdateNotification object:self.query];

для dealloc

 [self.query disableUpdates];
  [self.query stopQuery];
 (void)metadataQueryDidFinishGathering_Notification:(NSNotification *)note {
    NSLog(@"type %@", @(_type));

    NSMetadataQuery *q = note.object;
    if(![q.searchScopes containsObject:_searchURL.absoluteString]) {
        NSLog(@"MISMATCH %@ %@", q.searchScopes, _searchURL);
//        return;
    }

    [q disableUpdates];
    [q stopQuery];

    [self getTotalSizeOfQuery];
}

Возможно, мне не хватает чего-то, кто поможет мне разобраться в этом

Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...