Большое спасибо за объяснение всего этого так ясно.

аюсь отобразить прогресс загрузки в своих ячейках коллекции. В настоящее время я использую прогресс-блок анализа, который имеет экземпляр ячейки и обновляет индикатор выполнения.

}, progressBlock: { (percent) in
    self.mainQueue.addOperation {

    // set the downloadProgess var to update from cellForItemAt
    // downloadProgress = (Float(percent) / Float(100))

    if let downloadingCell = self.collectionView.cellForItem(at: self.indexPath) as? InnerCollectionCell {
        downloadingCell.progressBar.isHidden = false
        downloadingCell.contentView.bringSubview(toFront: downloadingCell.progressBar)
        downloadingCell.progressBar.setProgress(Float(percent) / Float(100), animated: true)
        downloadingCell.setNeedsDisplay()
        downloadingCell.setNeedsLayout()
        downloadingCell.isUserInteractionEnabled = false
        downloadingCell.spinner.isHidden = true
    }
}
})

Так что это работает нормально, проблема, с которой я столкнулся, заключается в том, что если я покину этот контроллер представления, а затем вернусь, чтобы посмотреть, как идут загрузки, экземпляр ячейки был повторно использован, и ни один из требуемых элементов пользовательского интерфейса не виден, но прогресс все еще идет далеко на заднем плане.

Единственное место, где я могу подумать, чтобы отобразить элементы пользовательского интерфейса - это cellForItemAt. Проблема в том, что прогресс не обновляется, он просто показывает значение во время перезагрузки ячейки.

Как я могу использовать экземпляр ячейки, которую использует блок прогресса, или правильно отображать элементы пользовательского интерфейса, которые продолжают обновляться?

Ответы на вопрос(1)

Ваш ответ на вопрос