У меня есть приложение, которое загружается в Google Spreadsheets через клиент GData ObjC для Mac/iPhone. Он отлично работает, как есть. Я пытаюсь получить часть загрузки в своем собственном потоке, и я пытаюсь вызвать метод загрузки в новом потоке.NSThread завершение слишком рано
Посмотрите:
-(void)establishNewThreadToUpload {
[NSThread detachNewThreadSelector:@selector(uploadToGoogle) toTarget:self withObject:nil];
}
-(void)uploadToGoogle {
NSAutoReleasePool *pool = [[NSAutoReleasePool alloc] init];
//works fine
[helper setNewServiceWithName:username password:password];
//works fine
[helper fetchUserSpreadsheetFeed];
//inside the helper class, fetchUserSpreadsheet feed calls ANOTHER method, which
//calls ANOTHER METHOD and so on, until the object is either uploaded or fails
//However, once the class gets to the end of fetchUserSpreadsheetFeed
//control is passed back to this method, and
[pool release];
//is called. The thread terminates and nothing ever happens.
}
Если я забываю об использовании отдельного потока, все работает, как это предполагается. Я новичок в программировании потоков, поэтому, если что-то мне не хватает, пожалуйста, подскажите мне!
Спасибо!
Что «Нить заканчивается и никогда ничего не происходит» означает? –