У меня есть несколько пользовательских ячеек, которые применяются с помощью этого метода
switch indexPath.row {
case 1:
cell = collectionView.dequeueReusableCell(withReuseIdentifier: "randomCell", for: indexPath)
as? randomCollectionViewCell
case 2:
cell = collectionView.dequeueReusableCell(withReuseIdentifier: "timeCell", for: indexPath)
as? timeCollectionViewCell
case 3:
cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ownerCell", for: indexPath)
as? ownerCollectionViewCell
default:
cell = collectionView.dequeueReusableCell(withReuseIdentifier: "imageCell", for: indexPath)
as? imageModelCollectionViewCell
}
return cell
}
Все ячейки отображаются одновременно и последовательно.Последней ячейкой в функции по умолчанию является imageView, который мне нужен для передачи значения из модели.
Модель создает изображение в виде ссылки, поэтому вам также необходимо загрузить изображение.
Например, этот код как
cell.Image Model.image = ...
выдает ошибку
Value of type 'UICollectionViewCell?'has no member 'modelimage'
Это код из collectionViewCell для того, что мне нужно для передачи данных
import UIKit
class imageModelCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var modelImage: UIImageView!
}
Как передавать данные из модели в ячейку?
// update
Я обновляю свой код на Saleh Altahini
post
Спасибо, я пытаюсь реализовать второй метод,
я использую var imageModelCell: imageModelCollectionViewCell?
и использую метод
DispatchQueue.main.async {
self.collectionView.reloadData()
imageModelCell!.modelImage = UIImage(data: data) as imageModelCollectionViewCell }
и имею ошибку
Cannot convert value of type 'UIImage?' to type 'imageModelCollectionViewCell' in coercion