Основные данные - пожалуйста, помогите мне построить правильную модель данных - PullRequest
0 голосов
/ 14 августа 2011

Существует модель флэш-карты для изучения терминов и определений. Я создал карту сущностей со следующими атрибутами:

packTitle Защита уровень Термин

Карты в наборе с определенной темой имеют одинаковый заголовок pack, например животные. Для заполнения всех доступных packTitles я получаю массив

NSArray *arrayOfTitles = [[[fetchedResultsController fetchedObjects]
                                           valueForKey:@"packTitle"]
                                       valueForKeyPath:@"@distinctUnionOfObjects.self"];

чтобы получить все карты с определенным пакетом заголовков

- (NSArray *) cardsForPackTitle:(NSString * )selectedPackTitle {

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Card" inManagedObjectContext:managedObjectContext];

    [fetchRequest setEntity:entity];

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(packTitle like %@)", selectedPackTitle];

    [fetchRequest setPredicate:predicate];

    NSError *error;

    NSArray *fetchedCards =  [managedObjectContext executeFetchRequest:fetchRequest error:&error ];

    [fetchRequest release];

     return fetchedCards;  

}

Все вышеперечисленное работает, но когда мне нужно удалить карточки с определенным packTitle, кажется, что код Стремитесь к простой задаче.

Вопрос: должен ли я построить модель данных в другом случае? Я новичок в Core Data, извините, если вопрос глупый.

1 Ответ

1 голос
/ 14 августа 2011

Да, вы, скорее всего, должны сделать это по-другому. Не имеет смысла многократно хранить «животных» в различных картах, просто чтобы показать, что они карты животных.

Что вы должны (вероятно) сделать, это создать другую сущность с именем Pack. Эта сущность должна иметь атрибут title и отношение cards один-ко-многим. Затем подключите отношение cards к вашей Card сущности. (Удалите атрибут packTitle из объекта Card.)

Вы также должны прочитать Руководство по программированию базовых данных , чтобы узнать больше о базовых данных. Поначалу это немного сложно понять, но после пары чтений и небольшой практики это начинает обретать смысл.

...