使用 swift 从 cloudkit 中删除数据

Deleting data from cloudkit with swift

如何删除我放在云端的一些数据?我制作了一个应用程序,当您在 1 个视图控制器中输入 url 时,它会上传到云中,而当您转到另一个视图控制器时,它会显示您之前在 Web 视图中从云中输入的 url。例如,当您输入 www.hello.com 时,它会进入云端,而当您转到不同视图控制器上的 webview 时,它会加载 www.hello.com。

我的问题:

当我输入第二个 url 时,它仍然加载第一个。我如何让它加载我上传的最新一个?有没有办法在上传第二个的时候删除第一个?

您可以使用如下代码删除记录:

database.deleteRecordWithID(CKRecordID(recordName: recordId), completionHandler: {recordID, error in 
 NSLog("OK or \(error)")
}

其中数据库是您正在使用的 CKDatabase。

但在您的情况下,更新之前创建的记录可能会更好。另一种解决方案是在 creationDate 上使用排序顺序查询数据,如下所示:

query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]

然后选择第一个,因为那是你最后保存的一个。一个很好的额外是你的数据库中会有一个历史记录。