UICollectionView DeleteItems (AT :) Вызовов несколько раз вызывает сбой: неверные обновления партии [закрыто]IOS

Программируем под IOS
Ответить
Anonymous
 UICollectionView DeleteItems (AT :) Вызовов несколько раз вызывает сбой: неверные обновления партии [закрыто]

Сообщение Anonymous »

У меня есть горизонтальный uicollectionView, показывающий пользователей.
Когда я удаляю текущего пользователя, я также удаляю изображение из другого массива, затем вызову DeleteItems (AT :) Чтобы обновить представление коллекции. < /p>

Код: Выделить всё

let indexPath = IndexPath(item: acIndex, section: 0)

exploreUsers.remove(at: acIndex)
arr_image.remove(at: acIndex)

col_exploreUser.deleteItems(at: [indexPath])

< /code>
Первое удаление работает нормально, но если я называю это несколько раз в ряду (например, удаление нескольких пользователей в последовательности), приложение сбоя с: < /p>
*** Assertion failure in -[UICollectionView _Bug_Detected_In_Client_Of_UICollectionView_Invalid_Batch_Updates:], UICollectionView.m:10798

< /code>
 Что я попробовал: < /strong>
Обертывание его в exectionbatchupdates: < /p>
col_exploreUser.performBatchUpdates({
col_exploreUser.deleteItems(at: [indexPath])
}, completion: nil)

< /code>
Это код < /p>
DispatchQueue.main.async {
if let index = self.exploreUsers.firstIndex(where: { $0._id == userID }) {
print("index is this \(index) ,  userID is \(userID)")
let acIndex = self.getActualIndex(for: self.currentIndex, userCount: self.exploreUsers.count)
self.exploreUsers.remove(at: acIndex)
self.arr_image.remove(at: acIndex)
let indexPath = IndexPath(item: self.currentIndex, section: 0)

UIView.animate(withDuration: 0.6) {
self.col_exploreUser.performBatchUpdates({
self.col_exploreUser.deleteItems(at: [indexPath])
}, completion: { _ in
self.col_exploreUser.reloadData()
})
}
}
Но я все еще получаю одинаковый сбой при удалении нескольких элементов.
Добавление задержек между удалениями - все еще в конечном итоге.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... invalid-ba
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»