1

正しく作成されて保存されているように見えるオブジェクト (NSManagedObject サブクラス) がいくつかありますが、リロードすると、オブジェクト内の変数からのみ null を取得できます。

適切な数のオブジェクトが保存されていますが、変数は保存されていません。

コードを何度か調べましたが、問題が保存側にあるのか読み込み側にあるのかわかりません。

どんな考えでも大歓迎です!前もって感謝します

//Create a route
- (CNSRoute *) createRoute
{

    CNSRoute *p = [NSEntityDescription insertNewObjectForEntityForName:@"CNSRoute" inManagedObjectContext:context];

    [allRoutes addObject:p];
    //NSLog(@"Route: %@", p);
    return p;
}


//Load all routes from core data
- (void) loadAllRoutes
{
    NSLog(@"All Routes: %@", allRoutes);
    if (!allRoutes) {
        NSFetchRequest *request = [[NSFetchRequest alloc] init];

        NSEntityDescription *e = [[model entitiesByName] objectForKey:@"CNSRoute"];
        [request setEntity:e];

        NSSortDescriptor *sd = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
        [request setSortDescriptors:[NSArray arrayWithObject:sd]];

        NSError *error;
        NSArray *result = [context executeFetchRequest:request error:&error];
        if (!result) {
            [NSException raise:@"Fetch Failed" format:@"Reason: %@", [error localizedDescription]];
        }
        NSLog(@"LOAD RESULT: %@", result);

        for (CNSRoute *route in result) {
            NSLog(@"Loading Route... %@", [route name]);
        }

        allRoutes = [[NSMutableArray alloc] init];

        [allRoutes setArray:result];

        //NSLog(@"%@", allLocations);

    }
}

//Save context
- (BOOL)saveChanges
{
    NSError *err = nil;

    BOOL successful = [context save:&err];
    if (!successful) {
        NSLog(@"ERROR SAVING: %@", [err localizedDescription]);
    }

    return successful;
}

//Save when application enters background
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [[CNSTravelController sharedStore] saveChanges];
}
4

0 に答える 0