Основни данни NSInternalInconsistencyException (различно този път)

Знам, че има милион от тези въпроси в SO, но това е различно и съм стъписан.

Имам модел на данни с около дузина обекти в него. Кодът вървеше добре. След това направих версия на модела, добавих обект и връзка, след което актуализирах настройката за текущия модел на данни с версии във файла xdatamodeld и сега получавам NSInternalInconsistencyException при опит за достъп до новия обект.

В моя основен VC регистрирам контекста, координатора на постоянното хранилище, управлявания обектен модел и всички обекти. Всичко изглежда както бих очаквал, включително обектът, до който се опитвам да осъществя достъп.

Изхвърлих SQLite DB и оставих Core Data да го пресъздаде и мога да видя таблицата с правилни типове колони.

Всичко изглежда правилно.

Ето кода за извличане:

- (void)fetchMissions {
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Mission" inManagedObjectContext:self.managedObjectContext];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

    [request setEntity:entity];
    [request setSortDescriptors:sortDescriptors];

    NSError *error = nil;
    missionsArray = [[self.managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
}

Ето резултата от:

NSLog(@"Entities : %@",[[self.managedObjectContext.persistentStoreCoordinator.managedObjectModel entities] valueForKey:@"name"]);


Entities : (
    Character,
    CharacterClass,
    CharacterCondition,
    CharacterObjective,
    CharacterPerception,
    Condition,
    Mission,
    Objective,
    Perception,
    PlayerCharacter,
    Scoreboard
)

Виждам също подробностите за обекта Mission, когато отпечатам целия модел на управляван обект с:

NSLog(@"MOM : %@", self.managedObjectContext.persistentStoreCoordinator.managedObjectModel);

Обектът е много прост... 3 колони, две са текст/низ и една е цяло число. Описанието на обекта в редактора на модела съответства на дефиницията на таблицата в SQLite.

Какво ми липсва??


person Raconteur    schedule 09.07.2012    source източник


Отговори (1)


Добре, значи съм идиот...

Не грабвах MOC в моя viewDidLoad, както бях в други VC, така че докато разпечатвах правилния MOC от делегата, нямах манипулатор за него в Mission VC.

Фиксирана.

Благодаря за слушане. :)

person Raconteur    schedule 09.07.2012