2015-05-15 8 views
1

тип записи: Страна (CKRecord)
--------------------
имя: String
код: String
- ------------------

Тип записи: Пользователь (CKRecord)
-------------------- ----
название: String
страна: CKReference (ссылка страны запись>
-------------------------Некоторые вопросы о CloudKit

У меня есть 2 типа записей (Страна и Пользователь), созданных CloudKit Dashboard. Я столкнулся с некоторыми проблемами с облачностью.

в настоящее время! Я запрашиваю Пользователя, а затем использую ссылку страны, чтобы выбрать страну. Когда я использую cloudKit для получения некоторых записей Мне нужно много запросов и выборок, которые тратят много времени на ожидание. поэтому мои вопросы:

1) Как получить запись пользователя и запись страны в одно и то же время, если я запрашиваю запись? Пример: запрос Пользовательская запись
2) В некоторой записи, имеющей список ссылок. Как удалить CKReference в этом списке литературы

Спасибо большое

+0

Обновите свой вопрос с помощью соответствующего кода, чтобы мы могли предложить некоторые решения. – rmaddy

ответ

0

В CloudKit нет никакого способа, чтобы запросить 2 различных recordTypes в 1 запрос. Единственное исключение - это когда вы уже знаете конкретные записи RecordId. Затем вы можете запросить эти идентификаторы. Итак, в вашем случае, когда вы еще не знаете пользователя, вам нужно сделать 2 запроса, чтобы получить отчет страны.

Вы можете ограничить количество выборок, так как вы, вероятно, имеете ограниченное число стран. При запуске приложения просто запрашивайте все страны и сохраняйте их где-то в памяти, а затем, когда вы выполняете запрос для пользователя, вы можете получить страну из памяти. Если вы подозреваете, что данные вашей страны будут часто меняться, создайте подписку, чтобы получить уведомление об обновлении данных в памяти.

Если у вас есть список ссылок в вашей записи, запросите эту запись, удалите элемент из списка и сохраните эту запись еще раз.