Как связать существующие значения в отношении 1 ко многим в основных данных?

Я пытаюсь связать значение, которое уже находится в категории, с сущностью wod. Так как я хочу вызвать новую запись для каждой записи wod для категории. Не уверен, как это сделать. Я думал об использовании предиката, но я не совсем уверен, как связать его с запросом на выборку.

вот как выглядит моя схема:

введите здесь описание изображения

Вот код, который пытается связать их вместе:

 NSManagedObjectContext *context = [self managedObjectContext];
    Wod *wodInfo = [NSEntityDescription
                                       insertNewObjectForEntityForName:@"Wods" 
                                       inManagedObjectContext:context];
    [wodInfo setValue:@"Frank" forKey:@"name"];


    NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
    [request setEntity:[NSEntityDescription entityForName:@"Categories"
                                   inManagedObjectContext:context]];
    [request setPredicate:[NSPredicate predicateWithFormat:@"(name == %@", @"Time"]];

    // This is the part where i am unsure, since i am not exactly sure how to link them up
      Category *category = reques
      wodInfo.category = 



    NSError *error;
    if (![context save:&error]) {
        NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
    }

Любая помощь будет принята с благодарностью.


person Frank    schedule 16.06.2011    source источник


Ответы (1)


NSError *error = nil;
NSArray *categories = [context executeFetchRequest:request error:&error];
Category *category = [categories lastObject];
wodInfo.category = category;

Будьте осторожны со своим звонком [context save:&error]. Вы передаете адрес переменной ошибки, которая не инициализирована в вашем коде и будет ссылаться на случайный адрес, что может привести к странным ошибкам в вашем приложении. Я бы порекомендовал установить его на ноль, прежде чем передавать его методу save:.

person Jiri    schedule 17.06.2011
comment
похоже, когда я добавил категории и пытаюсь получить доступ к этим данным. Он возвращает мне NSFaultingMutableSet, разве это не должна быть категория? - person Frank; 17.06.2011
comment
Правильно ли я понимаю, что вы хотите, чтобы каждый wod находился ровно в одной категории, и вы позволяете нескольким wods находиться в одной категории? - person Jiri; 17.06.2011
comment
Если это так, то я полагаю, что вы, возможно, определили отношение «один ко многим» в противоположном направлении. - person Jiri; 17.06.2011