Фоновый поток падает (NSAutoreleasePool), но не в основном потоке

Если я вызываю метод с:

    [self checkThenWriteToMasterArray];

тогда все работает нормально, (но экран, конечно, блокирует). Но если я позвоню

    [self performSelectorInBackground:@selector(checkThenWriteToMasterArray) withObject:nil];

программа вылетает. Сам метод настроен так:

-(void) checkThenWriteToMasterArray {

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

// do stuff, INCLUDING calling other (sub)methods

[pool release]

}

Программа работает, когда я вызываю [self checkThenWriteToMasterArray] из основного потока независимо от того, есть ли у меня NSAutoreleasePool alloc'd или нет. Вызываемые (под) методы НЕ имеют своего собственного NSAutoreleasePool.

Честно говоря, сообщения об ошибках компилятора настолько сбивают с толку, что я не нашел способа отладки таким образом.

0 ответов

Другие вопросы по тегам