如何在 Swift 中从 CloudKit 中删除资产?

Posted

技术标签:

【中文标题】如何在 Swift 中从 CloudKit 中删除资产?【英文标题】:How do you delete an asset from CloudKit in Swift? 【发布时间】:2018-02-11 07:08:44 【问题描述】:

我一直在网上搜索,但没有找到有关如何使用 Swift 在 CloudKit 中删除资产(例如图像)的任何信息?在 CloudKit 仪表板中,您可以单击 Asset 字段下的红色 X 将其删除;我只需要知道如何在 Swift 中做到这一点。当我尝试对此进行研究时出现的唯一搜索结果涉及删除记录。

【问题讨论】:

我试过 record.setObject(nil, forKey: "image"),但这似乎不起作用... 【参考方案1】:

取自 CKAsset 文档:

您不能直接从服务器中删除资产数据。当您不再需要与资产关联的数据时,请从您的记录中删除所有指向该数据的资产对象。例如,对于包含资产作为字段的记录,将该字段的值设置为 nil。当没有资产对象引用数据时,服务器会在将来的某个时间延迟删除资产数据。 (具体时间未指定,但假设至少几天。)

【讨论】:

有趣.. 好吧,我确实尝试将“image”键的对象设置为“nil”;几天后我会继续检查该图像是否最终会从 CloudKit 的容器中删除。感谢您的回复! 更新:它现在似乎工作了!我不得不重新运行查询,图像资产立即被删除。感谢 Manuel 提供的非常有用的信息!

以上是关于如何在 Swift 中从 CloudKit 中删除资产?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 3 中从核心数据中删除对象

如何在 Swift 中从 Core Data 中删除数据时删除 UITableView 行?

如何在 Swift 中从字符串中删除引号?

如何在swift 4中从WKWebView中的网页中删除DIV标签?

如何在 Swift / iOS 中从 UITableView 中删除行并从 UserDefaults 中更新数组

如何在iOS Swift 3中从键盘中删除更改语言键按钮