2010-06-01 4 views
2
NSManagedObject *entryObj = [self.fetchedResultsController 
         objectAtIndexPath:indexPath]; 

entryObj는 4 개의 문자열 속성으로 구성됩니다.NSManagedObject 내부 단계; 개별 속성에 액세스

NSLog entryObj를 사용하면 원하는 정보를 얻을 수 있습니다. 각 속성을 개별적으로 액세스하는 방법을 알 수 없습니다. 솔루션이 "엔티티"라고 부르는 비슷한 게시물을 읽었습니다. "엔티티"를 사용하여 특정 속성에 액세스하는 방법을 알아낼 수 없습니다.

아이디어가 있으십니까? 참고 문헌 자습서?

미리 감사드립니다.

[entryObj valueForKey:@"name"] 

는 또한이 값에 액세스 할 실제 특성을 가진 사용자 정의 코어 데이터 클래스를 생성 할 수 있습니다 : 당신이를 통해 액세스 할 수 있도록 관리되는 개체에

답변

5

속성 KVC/KVO를 준수합니다. 자세한 내용은 this documentation을 참조하십시오. Xcode 코어 데이터 모델링 도구는 이러한 클래스를 생성 할 수 있습니다. 모델을 연 상태에서 "파일 -> 새 파일"을 선택하면 "관리 객체 클래스"항목이 표시됩니다. 이것을 선택하고 클래스를 생성 할 엔티티를 선택하십시오. 이 작업을 완료하고 핵심 데이터 엔티티는 자신의 클래스 이름이 적절하게 설정 한 후 빌드하면

, 당신은 즉

MyObject *entryObj = (MyObject *) [self.fetchedResultsController 
    objectAtIndexPath:indexPath]; 
NSLog(@"Property is %@", entryObj.whatever); 
0

, 새 클래스의 인스턴스에 NSManagedObject 캐스팅하고 해당 속성에 액세스하여 디자이너와 함께 NSManaged 객체를 구현하면 모델 클래스를 내보낼 수 있습니다. xcdatamodel에서 File/New File을 실행 한 다음 CocoaTouch Class/Managed Object Class를 선택합니다. 다음을 누른 다음 다음을 누르고 각 클래스를 선택하십시오. 접근 자 생성을 유지하고 obj-c 2.0 속성을 생성하고 완료를 클릭합니다.

이제 생성 된 파일을 프로젝트에 포함하고 도트 접근 자 구문을 사용할 수 있습니다.

또는 [entryObject valueForKey : @ "keyname"];을 사용하십시오. 하지만 가능한 경우 도트 접근 자 구문을 고집하는 편이 더 좋습니다.

http://github.com/rentzsch/mogenerator

주요 프로젝트의

하지만 설치 프로그램을 다운로드하기 쉬운이 여기에 있습니다 : :

0

은 개체 모델에서 호출하는 속성 실제 클래스를 생성하기 위해, 내가보기 엔 mogenerator를 사용하는 것이 좋습니다 http://rentzsch.github.com/mogenerator/

또한 무료로 숫자 형식에 대한 프리미티브 값 접근자를 얻을 수 있습니다.

관련 문제