2013-04-19 4 views
0

Я впервые пользуюсь основными данными и пытаюсь изучить основные данные.Сохранение нескольких атрибутов одному и тому же основному объекту данных

Для начала используйте пример с двумя атрибутами. 1. наименование 2. зарплата

Теперь я сделал все необходимое для загрузки данных из БД. Я получаю ранее сохраненные значения.

Но проблема в том, что я могу сохранить только один атрибут таблицы Employee.For первый раз я сохранил только имя сотрудника. Затем, когда я получил успех в этом, я пытаюсь сохранить имя с зарплатой, тогда я получил [NSManagedObject setSalary:]: нераспознанный селектор, отправленный в экземпляр исключения 0x7472d80.

Вот мой код.

- (IBAction)setBtnTouched:(id)sender { 


    Employee *newEmp = [NSEntityDescription 
       insertNewObjectForEntityForName:@"Employee" 
       inManagedObjectContext:context]; 

    [newEmp setName:self.textFieldName.text]; 

    [emp addObject:newEmp]; 

/* this is the code that i added after success in saving for employee name.*/ 
    //[newEmp setSalary:self.textFieldSal.text]; 
    //[emp addObject:newEmp]; 
*/ 
    BOOL isSaved = [context save:nil]; 
    NSLog(@"is saved %d",isSaved); 

NSLog(@"emp :%@",emp); 

} 

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

Пожалуйста, напишите эту тему.

Отредактировано: снимок экрана enter image description here С уважением, paggyyy123

+0

Не можете добавить себе скриншот вашей основной модели данных. –

+0

см. Отредактированный вопрос: это то, что вы спросили? – user968597

+2

Если имя атрибута «sal» (как на скриншоте), вы должны вызвать '[newEmp setSal: ...]', а не '[newEmp setSalary: ...]'. –

ответ

0

Убедитесь, что ваш NSManagedObject подкласс содержит правильное имя атрибута аксессор.

// Employee.m 
@dynamic Salary 

Кроме того, обратите внимание, что вы добавляете новый сотрудник в массив emp дважды. Эти два значения будут идентичны после завершения атрибутов.

Смежные вопросы