핵심 데이터가 기본적으로 SQLite 데이터베이스라는 것을 알았습니다. 각 엔티티는 별도의 테이블입니다. 엔티티가 아닌 테이블도 있습니다 (예 : Z_METADATA
, Z_MODELCACHE
및 Z_PRIMARYKEY
). 나는 그들이하는 일을 모른다.어떻게하면 NSManagedObject의 기본 키 값을 얻을 수 있습니까?
어쨌든 "엔티티 테이블"의 필드는 데이터 모델에서 추가 한 속성과 몇 가지 추가 기능과 거의 같습니다. 예를 들어, 내 엔티티가 date
이라는 속성 하나만있는 경우를 예로들 수 있습니다. 표는 ZDATE
필드와 Z_PK
, Z_ENT
및 Z_OPT
필드를 포함합니다.
분명히 각 엔터티에는 Z_PK
필드에 저장된 기본 키가 있습니다! 이의 기본 키 값을 가져 오려고합니다. 그리고 특정 기본 키가있는 NSManagedObject
에 대해 데이터베이스를 쿼리하려고합니다.
그래서 기본적으로,이 같은 일이 :
let pk = myManagedObject.primaryKey
// the below should return myManagedObject
managedObjContext.objectWithPrimaryKey(someEntityDescription, pk)
나는
NSManagedObject
에 대한 문서를 검색하고
objectID
을 보았다. 그러나 나는 이것이 이것이라고 생각하지 않습니까?
기본 키를 말할 때 Object ID를 참조한다고 생각합니다. http://stackoverflow.com/questions/901640/core-data-primary-key –