将多个属性保存到同一核心数据实体

时间:2013-04-19 07:17:55

标签: core-data nsmanagedobject nsmanagedobjectcontext

我是第一次使用核心数据并尝试学习核心数据。

从具有两个属性的员工示例开始。     名字     工资

现在我完成了从DB加载数据所需的所有必要事项。 我得到之前保存的值。

但问题是我只能保存Employee表的一个属性。我第一次只保存了员工的名字。然后,当我获得成功时,我尝试用工资保存名称然后我得到[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

1 个答案:

答案 0 :(得分:0)

确保您的NSManagedObject子类包含正确的属性名称访问者。

// Employee.m
@dynamic Salary

另请注意,您要将新员工添加到阵列emp两次。一旦属性完成,这两个将是相同的。