Проверьте, видна ли ячейка в indexPath на экране UICollectionViewIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте, видна ли ячейка в indexPath на экране UICollectionView

Сообщение Anonymous »

У меня есть CollectionView, который отображает изображения пользователю. Я загружаю их в фоновом режиме, а когда загрузка завершается, я вызываю следующую функцию, чтобы обновить коллекциюViewCell и отобразить изображение.

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

func handlePhotoDownloadCompletion(notification : NSNotification) {
let userInfo:Dictionary = notification.userInfo as! Dictionary
let id = userInfo["id"]
let index = users_cities.indexOf({$0.id == id})
if index != nil {
let indexPath = NSIndexPath(forRow: index!, inSection: 0)
let cell = followedCollectionView.cellForItemAtIndexPath(indexPath) as! FeaturedCitiesCollectionViewCell
if (users_cities[index!].image != nil) {
cell.backgroundImageView.image = users_cities[index!].image!
}
}
}
Это отлично работает, если ячейка в данный момент видна на экране, однако если это не так, я получаю

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

fatal error: unexpectedly found nil while unwrapping an Optional value
ошибка в следующей строке:

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

 let cell = followedCollectionView.cellForItemAtIndexPath(indexPath) as! FeaturedCitiesCollectionViewCell
Теперь эту функцию даже не нужно вызывать, если коллекцияViewCell еще не видна, потому что в этом случае изображение будет задано в методе cellForItemAtIndexPath в любом случае.

Отсюда и мой вопрос: как я могу изменить эту функцию, чтобы проверить, видна ли в данный момент ячейка, с которой мы имеем дело, или нет. Я знаю о коллекцииView.visibleCells(), однако не знаю, как ее здесь применить.

Подробнее здесь: https://stackoverflow.com/questions/382 ... ectionview
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • UICollectionView reloadSections против reloadItems в indexPath
    Гость » » в форуме IOS
    0 Ответы
    57 Просмотры
    Последнее сообщение Гость
  • Свифт iOS. Как я могу получить Indexpath's от клеток в UicollectionView [закрыто]
    Anonymous » » в форуме IOS
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как настроить высоту UICollectionView так, чтобы она соответствовала высоте размера содержимого UICollectionView?
    Гость » » в форуме IOS
    0 Ответы
    67 Просмотры
    Последнее сообщение Гость
  • Ячейка UICollectionView исчезает
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Ячейка RegisterClass UICollectionView в Swift
    Anonymous » » в форуме IOS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

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