Я пытаюсь запросить класс объектов с определенными идентификаторами для удаления. Однако, когда я запускаю его, я получаю сообщение об ошибке «Этот запрос имеет неподтвержденное сетевое соединение. Вы должны подождать, пока он не будет выполнен» . Я предполагаю, что это потому, что я пытаюсь удалить объект, пока я все еще к нему обращаюсь.
Я предоставил код удаления в замыкании, потому что я предполагаю, что операторы замыкания выполняются только после завершения вызова функции, но все равно выдает ошибку. Я также пытался использовать 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?) ...
}
}
Я ожидаю, что каждый объект, связанный с идентификатором в моем исходном списке IdList, будет удален из серверной части Parse. Однако, похоже, что getObjectInbackground () и deleteInBackground () конфликтуют. Если бы кто-нибудь мог дать совет, это было бы замечательно!