首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除CKRecord

如何删除CKRecord
EN

Stack Overflow用户
提问于 2015-05-19 21:36:44
回答 3查看 2.2K关注 0票数 2

如何以编程方式在客户端从数据库中删除CKRecord

代码语言:javascript
复制
for record in records {
    if recordNumber < 13 {
        let moodRecord:CKRecord = record as! CKRecord
        self.moodArray.append(moodRecord.objectForKey("Color") as! String)
    }
    else if recordNumber > 13 {
        // DELETE RECORD HERE
        record.delete(CKRecord)
        recordNumber--
    }
    recordNumber++
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-19 21:45:46

CloudKit中的记录不是这样删除的。下面是我如何删除应用程序中的记录:

代码语言:javascript
复制
let operation = CKModifyRecordsOperation(recordsToSave: nil, recordIDsToDelete: [record.recordID])
operation.savePolicy = .AllKeys
operation.modifyRecordsCompletionBlock = { added, deleted, error in
    if error != nil {
        println(error) // print error if any
    } else {
        // no errors, all set!
    }
}
CKContainer.defaultContainer().publicCloudDatabase.addOperation(operation)
票数 6
EN

Stack Overflow用户

发布于 2017-09-26 07:57:56

您可以使用

删除(具有withRecordID:completionHandler:)

苹果文档

objc版本:

代码语言:javascript
复制
[aDatabase deleteRecordWithID:rec.recordID completionHandler:^(CKRecordID * _Nullable recordID, NSError * _Nullable error) {
    ;
 }];
票数 0
EN

Stack Overflow用户

发布于 2022-01-06 19:52:02

代码语言:javascript
复制
let database = CKContainer.default().publicCloudDatabase // or privateCloudDatabase

let recordID = someRecord.recordID
    
database.delete(withRecordID: recordID) { (ckRecordID, error) in

    if let error = error {
        print(error.localizedDescription)
        return
    }
            
    guard let id = ckRecordID else {
        return
    }

    print(id)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30336590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档