2016-06-17 6 views
1

쇼핑 목록을 나타내는 개인 데이터베이스에 레코드를 저장하고 쇼핑 목록의 항목을 나타내는 해당 쇼핑 목록의 하위 레코드를 갖고 싶습니다. 가능하다면 쇼핑 목록 레코드의 하위 레코드로 구현해야합니까, 아니면 "항목"을 NSArray 유형의 "쇼핑 목록"레코드의 속성으로 만들어야하는지 여부를 궁금합니다. 그 배열에 대한 항목 CKRecords.CloudKit에서 레코드를 하위 레코드로 만들려면 어떻게해야합니까?

문서에서 CKRecord가 다른 CKRecord의 자식인지 여부는 확실하지 않습니다.

답변

0

쇼핑 목록을 나타내는 레코드 유형 하나와 쇼핑 목록의 항목을 나타내는 다른 레코드 유형이 있습니다.

쇼핑 목록 레코드 유형에 각각 항목 레코드를 가리키는 CKReferences 배열이있는 필드가 있어야합니다.

항목 기록 유형에는 쇼핑 목록 (예 : isOnShoppingList)을 가리키는 CKReference 인 필드가 있고 CKReferenceAction을 DeleteSelf로 설정합니다. 이렇게하면 쇼핑 목록이 삭제되면 항목이 삭제됩니다.

(편집 : CKReferenceAction = DeleteSelf와 역 참조를 추가했습니다.)

0

According to Apple을, 그것은 "중앙 레코드 유형의 주위에 당신의 기록을 정리"하는 것이 가장 좋습니다. 쇼핑 목록 기록이 될 수 있습니다. 쇼핑 목록 항목 레코드는 가능한 많은 "기본 유형을 지원하는 추가 레코드 유형"중 하나입니다.

두 가지를 연관 시키려면 Apple은 "Introducing CloudKit (Session 208) at WWDC 2014에서 "역 참조"라고하는 것을 사용하는 것이 좋습니다. 이것은 귀하의 쇼핑 목록 항목 레코드가 다른 방법이 아닌 연관된 쇼핑 목록에 대한 참조를 유지하게하는 것으로 구성됩니다. 이렇게하면 각 목록의 각 항목에 대한 참조 배열을 검색하는 것이 아니라 목록의 ID를 사용하여 목록 항목 레코드를 간단히 가져올 수 있기 때문에 쿼리 집약도를 줄일 수 있습니다. 또한이 디자인은 쇼핑 목록을 표시하고 쇼핑 목록을 선택하면 항목 목록을 표시하는 일반 앱 인터페이스 디자인과 더욱 밀접하게 정렬됩니다.

관련 문제