【发布时间】:2019-11-20 11:32:56
【问题描述】:
我正在尝试查询要删除的具有特定 ID 的一类对象。但是,当我运行它时,我收到 “此查询具有出色的网络连接。您必须等到它完成”的错误。我认为这是因为我正在尝试删除一个对象,而我仍在访问它。
我在闭包中提供了删除代码,因为我假设闭包语句仅在函数调用完成后执行,但它仍然给我错误。我也尝试过使用 DispatchGroups,因为它看起来确实是一个并发问题,但我对它们的用法还不太熟悉。这是我的代码:
let idList = [...] // Some list of ID's I would like to remove
let query = PFQuery(className: "Pictures")
for id in idList {
query.getObjectInBackground(withId: id) { (object: PFObject?, error:
Error?) in
if error == nil {
img?.deleteInBackground() { (success, error: Error?) ...
}
}
我希望从 Parse 后端删除与原始 IdList 中的 ID 关联的每个对象。但是,似乎 getObjectInbackground() 和 deleteInBackground() 发生冲突。如果有人可以提供一些建议,那就太好了!
【问题讨论】:
-
没试过但是能不能把
let query = PFQuery(className: "Pictures")放到for循环里面看看是否还有错误?
标签: ios swift xcode parse-platform concurrency