Так что это мой исходный код.Я пытаюсь добавить UIImages в источник данных массива, и по завершении я перезагружаю коллекцию.Но время от времени приложение вылетает в строке self.imageDataArray.append(dimage)
с ошибкой - Thread 396: Fatal error: UnsafeMutablePointer.deinitialize with negative count
func createUIImagesFromPathList(pathList: [String]) {
let group = DispatchGroup()
self.imageDataArray.removeAll()
let first5 = pathList.prefix(5) //just take first 5 as thats what we are showing
for path in first5 {
group.enter()
if let path = URL(string: path) {
DispatchQueue.global(qos: .userInteractive).async {
if let data = try? Data(contentsOf: path), let dimage = UIImage(data: data) {
self.imageDataArray.append(dimage)
group.leave()
}
}
}
}
group.notify(queue: .main) {
self.reloadPhotosCollection?()
}
}
Стоит ли использовать последовательную очередь вместо глобальной параллельной очереди по умолчанию?