Добавление нескольких тестовых данных с использованием Core Data - PullRequest
0 голосов
/ 17 февраля 2012

Я новичок и изучаю основные данные с нуля.Я настроил coredatamodel, затем создал класс NSManagedObject.Затем в делегате приложения я попытался вставить некоторые тестовые данные.Однако это не сработало должным образом.Только последние данные были вставлены.Должен ли я поместить

[self saveContext];

между каждым объектом?В методе applicationWillTerminate вызывается метод saveContext, поэтому последний элемент был сохранен.(это правильно?)

NSManagedObjectContext *context = [self managedObjectContext];

Vocabulary *vocabulary = [NSEntityDescription
                                   insertNewObjectForEntityForName:@"Vocabulary" 
                                   inManagedObjectContext:context];

vocabulary.word = @"iPhone";
vocabulary.definition = @"better than Android";
vocabulary.level = @"beginner";

vocabulary.word = @"iPhone3gs";
vocabulary.definition = @"better than 3";
vocabulary.level = @"intermediate";

vocabulary.word = @"iPhone4";
vocabulary.definition = @"better than 3gs";
vocabulary.level = @"advanced";

vocabulary.word = @"iPhone4s";
vocabulary.definition = @"better than 4";

vocabulary.word = @"iPhone4s";
vocabulary.definition = @"64 is better than 32";
vocabulary.level = @"advanced";

1 Ответ

0 голосов
/ 17 февраля 2012

Вам необходимо вставить новую сущность для каждого из объектов словаря, которые вы вставляете.Так сделайте это:

Vocabulary *vocabulary = nil;
NSManagedObjectContext *context = [self managedObjectContext];

vocabulary = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:context];
vocabulary.word = @"iPhone";
vocabulary.definition = @"better than Android";
vocabulary.level = @"beginner";

vocabulary = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:context];
vocabulary.word = @"iPhone3gs";
vocabulary.definition = @"better than 3";
vocabulary.level = @"intermediate";

vocabulary = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:context];
vocabulary.word = @"iPhone4";
vocabulary.definition = @"better than 3gs";
vocabulary.level = @"advanced";

vocabulary = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:context];
vocabulary.word = @"iPhone4s";
vocabulary.definition = @"better than 4";

vocabulary = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:context];
vocabulary.word = @"iPhone4s";
vocabulary.definition = @"64 is better than 32";
vocabulary.level = @"advanced";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...