Сбой при добавлении UIImages в массив: UnsafeMutablePointer.deinitialize с отрицательным числом - PullRequest
0 голосов
/ 16 июня 2019

Так что это мой исходный код.Я пытаюсь добавить 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?()
    }
  }

Стоит ли использовать последовательную очередь вместо глобальной параллельной очереди по умолчанию?

...