2013-04-24 2 views
0

Мой код настраивает его Entity, Context и т. Д., А затем сохраняет запись, что все работает нормально. Затем я хочу сохранить новую запись, но код перезаписывает исходную запись.Основные данные, добавляющие несколько элементов в Entity в одном экземпляре

Как написать более одного элемента в одном экземпляре?

AppDelegate *appdelagate = [[UIApplication sharedApplication]delegate]; 
context = [appdelagate managedObjectContext]; 
NSEntityDescription *entitydesc = [NSEntityDescription entityForName:@"UserData" inManagedObjectContext:context]; 
NSManagedObject *userData = [[NSManagedObject alloc]initWithEntity:entitydesc insertIntoManagedObjectContext:context]; 
      [userData setValue:@"Bob" forKey:@"userCD"]; 
      [userData setValue:@"Tall" forKey:@"dataCD"]; 
      // Store in the DB 
      [context save:&error]; 

НЕКОТОРЫХ КАК перейти к следующему RECORD

[userData setValue:@"John" forKey:@"userCD"]; 
    [userData setValue:@"Short" forKey:@"dataCD"]; 
    // Store in the DB 
    [context save:&error]; 

Я имею в виду, мне нужно, чтобы освободить USERDATA и объявить снова ... Я также думаю, мне не хватает много, и должны перестать думать в термины SQL.

Благодаря

ответ

2

Это потому, что вы измените атрибуты первого userData объекта вместо создания нового:

NSManagedObject *userData; 
// Create first object: 
userData = [[NSManagedObject alloc]initWithEntity:entitydesc insertIntoManagedObjectContext:context]; 
[userData setValue:@"Bob" forKey:@"userCD"]; 
[userData setValue:@"Tall" forKey:@"dataCD"]; 
[context save:&error]; 
// [userData release]; only if you don't compile with ARC 

// Create second object: 
userData = [[NSManagedObject alloc]initWithEntity:entitydesc insertIntoManagedObjectContext:context]; 
[userData setValue:@"John" forKey:@"userCD"]; 
[userData setValue:@"Short" forKey:@"dataCD"]; 
[context save:&error]; 
// [userData release];  only if you don't compile with ARC 
+0

Совершенная прекрасно работает, очевидно, сейчас - я просто не мог видеть его. –

+0

такой же способ выше можно сделать если у меня 15 данных? – codercat