У меня странная проблема, которая решается, если я добавляю в код оператор NSLog.
У меня есть UITableviewController с панелью поиска. Я делаю начальную выборку для заполнения таблицы следующим образом:
NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc]init];
self.listContent = [MainFunctions populateArrayFromModel]; //Get the array populated here from the model data
[pool2 release];
Внутри статического метода MainFunctions массив заполняется так:
NSMutableArray *resultArray = [[[NSMutableArray alloc] init] autorelease];
MModel *mainModel = [[MModel alloc] init];
//get all results from FetchedResultsController
[mainModel release];
return resultsArray;
Приведенный выше код работает, только если я следую определенному шаблону, т.е. мне нужно сначала нажать соответствующую вкладку Если я перейду на другую вкладку до того, как приду сюда, этот код почему-то зависает.
Однако, если я добавлю несколько операторов NSLog в код, это будет работать последовательно. как ниже;
NSMutableArray *resultArray = [[[NSMutableArray alloc] init] autorelease];
NSLog(@"1");
MModel *mainModel = [[MModel alloc] init];
//get all results from FetchedResultsController
NSLog(@"2");
//....code here
NSLog(@"3");
//....code here
NSLog(@"4");
[mainModel release];
return resultsArray;
Я пытался снять и снова включить его, и он последовательно показывает то же самое поведение. При чем тут NSLog, я сбит с толку.
Цените любые указатели.