5. CloudKit
• Обёртка для доступа напрямую к iCloud
• Кроссплатформенная поддержка (iOS / Mac OS)
• Доступ к iCloud аккаунтам
• Структурированные и файловые данные
• Только “транспорт” - не хранение
6. Структуры данных
• Контейнер - CKContainer
• База данных - CKDatabase
• Запись - CKRecord
• Зона данных - CKZone
• ID записи - CKRecordID
• Отношения - CKReference
• Неструктурированные данные - CKAsset
7. CKContainer
• Один на приложение
• Инкапсуляция данных (public / private для юзера)
• Можно передавать другим приложениям
• Управляется через админку
13. CKRecordID
class CKRecordID : … {
convenience init(recordName: String!)
init(recordName: String!, zoneID: CKRecordZoneID!)
var recordName: String! { get }
var zoneID: CKRecordZoneID! { get }
}
• Можно создать самому либо автоматически
• Полностью нормализованы - содержат информацию о
местонахождении записи
14. CKReference
var person = CKRecord(recordType: "Person")
var city = CKRecord(recordType: "City")
var reference =
CKReference(record: city, action: .None)
person.setObject(reference, forKey: "hometown")