Я только что обновил версию до Swift 3.Почему изображения не отображаются в ячейках коллекции?
Мои представления коллекции работали отлично до обновления. Я сделал рекомендуемые изменения, чтобы сделать компилятор счастливым, но теперь у меня возникла эта проблема.
Представления изображений, которые находятся в моем обычном UICollectionViewCells, просто больше не появляются. Не отображаются ни программно сгенерированные изображения, ни представления прототипов изображений.
Я дал цвета фона изображений, чтобы проверить, нет ли у меня изображений. Цвет фона не отображается, поэтому можно с уверенностью предположить, что изображения не отображаются вообще.
Ячейки сами появляются. В каждом представлении изображения есть метка внизу, и метка отображается правильно с правильным текстом.
Наиболее запутанной частью является то, что иногда появляются изображения DO, но, похоже, нет никаких рифм или причин, почему и когда.
Мой код является довольно стандартным, но я буду идти вперед и поделиться им все равно:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return searchClubs.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell: HomeCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! HomeCollectionViewCell
cell.barLabel.text = searchClubs[indexPath.row].name
cell.imageCell.image = searchClubs[indexPath.row].image
cell.imageCell.layer.masksToBounds = true
cell.imageCell.layer.cornerRadius = cell.imageCell.frame.height/2
return cell
}
func feedSearchClubs(child: AnyObject) {
let name = child.value(forKey: "Name") as! String
//Image
let base64EncodedString = child.value(forKey: "Image")!
let imageData = NSData(base64Encoded: base64EncodedString as! String, options: NSData.Base64DecodingOptions.ignoreUnknownCharacters)
let image = UIImage(data:imageData! as Data)
//Populate clubs array
let club = Club.init(name: name, image: image!)
self.searchClubs.append(club)
DispatchQueue.main.async {
self.collectionView.reloadData()
}
}
Я только что обновил вопрос - спасибо. – bkwebhero
У меня пока ничего не написано ничего в prepareForReuse, так что это не проблема. – bkwebhero