2013-04-19 1 views
0

처음으로 핵심 데이터를 사용하는 사용자이고 핵심 데이터를 배우려고합니다.동일한 핵심 데이터 엔티티에 여러 속성 저장

두 개의 속성이있는 직원 예제로 시작합니다. 1. 이름 2. 봉급

이제 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

+0

코어 데이터 모델의 스크린 샷을 추가 할 수 있습니까? –

+0

편집 된 질문을 참조하십시오. 요청한 내용입니까? – user968597

+2

속성의 이름이 "sal"인 경우 (스크린 샷처럼), [newEmp setSalary : ...]'가 아니라'[newEmp setSal : ...]'을 호출해야합니다. –

답변

0

NSManagedObject 서브 클래스는 올바른 속성 이름의 접근이 포함되어 있는지 확인 샷.

// Employee.m 
@dynamic Salary 

또한 새 직원을 배열 emp에 두 번 추가한다는 점에 유의하십시오. 이 두 속성은 속성이 완료되면 동일합니다.