didicloud
didcloud 使得 CloudKit 操作更加便捷和简洁。
示例
模型
您将在 CloudKit 上持久化为资源的类必须符合 Storable
协议,如下例所示
import Foundation
import CloudKit
import didicloud
class Todo: Storable {
/// CloudKit resource name
public class override var reference: String { return "Todo" }
/// Custom atributes
var name: String
var description: String?
/// Storable init
required init(_ record: CKRecord) {
self.name = record["name"] as! String
self.description = record["description"] as? String
super.init(record)
}
/// Custom init
init(name: String, description: String?) {
self.name = name
self.description = description
super.init()
}
}
CRUD 操作
您可以通过这种方式进行对象的列表请求
Storage.getAll() {
(result: Result<[Todo], Error>) in
switch result {
case.failure(let error):
/// Deal with error
print(error.localizedDescription)
case .success(let todos):
/// Use the returned items
}
}
可以通过这种方式创建新的资源
let newTodo = Todo(name: name, description: description)
Storage.create(newTodo) {
result in
switch result {
case .failure(let error):
/// Deal with error
print(error)
case .success(let todo):
/// Continue...
}
}
可以通过这种方式更新资源
todo.name = "New name"
todo.description = "New description"
Storage.update(todo) {
result in
switch result {
case .failure(let error):
/// Deal with error
print(error)
case .success(let todo):
/// Continue...
}
}
可以通过这种方式删除资源
Storage.remove(id) {
result in
switch result {
case.failure(let error):
/// Deal with error
print(error)
case .success(let deletedID):
/// Continue...
}
}
公共和私有数据库
您可以选择操作是在私有还是公共CloudKit数据库中发生。可以通过这种方式完成:
Storage.getAll(storageType: .publicStorage) {
// ...
}
所有CRUD方法都接受storageType
选项,其默认值为.privateStorage
。
示例项目
要运行示例项目,请首先克隆仓库,然后从示例目录运行pod install
。
要求
为了进行CloudKit请求,您必须有一个有效的Apple开发者账号。此外,您需要使用CloudKit功能注册应用程序标识符,并在CloudKit仪表板上创建对象镜像。您可以使用这篇教程来注册标识符和创建CloudKit资源。
安装
didicloud可通过CocoaPods使用。要安装它,只需将以下行添加到您的Podfile中:
pod 'didicloud'
作者
许可证
didicloud按照MIT许可证提供。有关更多信息,请参阅LICENSE文件。