2014-12-01 2 views
8

내 CloudKit 설정에서 Person 레코드 유형이 있고 각 사람이 Friend 속성을 가지고 있으며 CKReference에서 다른 Person 개체까지 있습니다.CloudKit CKReferences, 베스트 프랙티스 가져 오기?

나는 모두 PersonCKRecord을 가져옵니다. 나는이 사람들을 테이블에 목록으로 만들고 그들과 친구들을 나열한다. 현재는 CKReference을 가져 와서 recordID을 사용하여 각 친구를 개별적으로 가져옵니다.

이것이 내가 볼 수있는 유일한 방법이지만, 가장 좋은 방법은 무엇입니까? 특히 나는 잠재적으로 매우 많은 수의 친구들을 불러 모으고 있습니다. 이러한 모든 객체를 개별적으로 가져 오는 것은 직관력이 떨어집니다.

CoreData와 매우 비슷한 방법이 있는지 궁금 해서요. 메인 페치에서 관련 객체를 가져올 수 있습니까? 예를 들어, Person을 가져 오면 자동으로 친구를 가져옵니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

+0

투표 다운 이유는 무엇입니까? 내가 묻는 데 어떤 실수를하는지 정확하게 볼 수는 없다. –

+4

동의. 나는 유권자들이 스스로 신분을 밝혀야하고 이유가 불충분하다고 생각하면 다른 사람들이 투표 할 수있는 이유를 제공해야한다고 생각합니다. – Gallymon

+0

음, 내 근친 상간으로 0으로 돌아 간다. –

답변

5

'in'술어 쿼리를 사용하여 여러 ID를 가져올 수 있습니다. 당신은 당신이 유효 CKReference 객체의 배열을해야 recordIdOtherrecordIdMe을보고 어디에 귀하의 경우에는

NSPredicate(format: "To_ID in %@", [recordIdMe, recordIdOther])! 

:이 같은 조건을 정의 할 수 있습니다.

CloudKit에는 관련 레코드를 자동으로 가져 오는 기능이 없습니다.

1

사실 모든 RecordID를 수집하고 CKFetchRecordsOperation을 관련 데이터베이스 개체에 추가해야합니다.

결과가 원래 목록과 일치하도록 사전을 얻을 수 있습니다.