didicloud 0.2.11

didicloud 0.2.11

Rodrigo Giglio 维护。



didicloud 0.2.11

didicloud

Version License Platform

didcloud 使得 CloudKit 操作更加便捷和简洁。

⚠️此文档正在完善中。它可能不包含 didicloud 的所有功能。

示例

模型

您将在 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文件。