Сначала позвольте мне объяснить поток моего приложения,
Когда я запускаю приложение, я проверяю, вошел ли пользователь в систему, я делаю эту проверку в -(void) viewWillAppear:(BOOL)animated
, если нет, я показываю контроллер входа в систему.Теперь это работает отлично.
В моем loadView я получаю доступ к моему стеку данных кода и пытаюсь заставить fetchedObjects отображаться в виде таблицы, щелкая одну из ячеек, я показываю больше информации об объекте ячейки, по которой щелкнули.
Вот как я это делаю.
AppDelegate *app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [app managedObjectContext];
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Sites" inManagedObjectContext:context];
NSError *error;
[fetchRequest setEntity:entity];
fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
Теперь, когда представление загружается в первый раз, я получаю следующее в отладчике
(lldb) po fetchedObjects
(NSArray *) $1 = 0x00352860 <_PFArray 0x352860>(
<NSManagedObject: 0x352550> (entity: Sites; id: 0x34c9b0 <x-coredata://7CD0A735-BC41-4E7A-8B07-C957E6096320/Sites/p1> ; data: <fault>)
)
Что выглядит нормально.
Теперь вызывается viewWillAppear, отображается представление входа в систему, и пользователь входит в систему, и представление входа в систему извлекается из стека навигации, затем снова вызывается cellforrowatindexpath таблицы, когда я ломаюсь туда, и я поfetchedObjects снова я получаю
(lldb) po fetchedObjects
(NSArray *) $3 = 0x00352860 [no Objective-C description available]
Это я не понимаю, почему данные не сохраняются?
Исключение выдается в
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [fetchedObjects count];
}
fetchedObjects isчлен класса, у меня еще нет релиза, и я никогда не изменяю его значение?