source how example data custom collection cellforitematindexpath ios swift interface-builder ios8 uicollectionviewcell

ios - how - ¿Por qué la salida de UICollectionViewCell es nula?



uicollectionview header swift (6)

¡Tengo que registrar esa semilla chicos!

collectionView.register(UINib(nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "CustomCellId")

He creado un UICollectionViewCell personalizado en el Interface Builder, vistas agrupadas en él a la clase, y luego cuando quiero usar y establecer una cadena en la etiqueta de la cadena, esa etiqueta tiene un valor nulo.

override func viewDidLoad() { super.viewDidLoad() // Register cell classes self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls") } override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! { var cell: LeftMenuCollectionViewCell cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell println(cell.label) // <- this is nil, why?? cell.label.text = "asd" return cell }

Y la celda subclase:

class LeftMenuCollectionViewCell: UICollectionViewCell { @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var label: UILabel! @IBOutlet weak var activityIndicatorView: UIActivityIndicatorView! }


Estoy llamando self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls") nuevo. Si está usando un guión gráfico, no quiere llamar a esto . Sobrescribirá lo que tienes en tu guión gráfico.

Si todavía tiene el problema, compruebe si reuseIdentifier es el mismo en dequeueReusableCellWithReuseIdentifier y en el storyboard .


Si está utilizando xib, asegúrese de haber agregado esta línea de código a su viewdidload.

[self.collectionView registerNib:[UINib nibWithNibName:@"MyCell" bundle:nil] forCellWithReuseIdentifier:@"CELL"];


Solo elimina esta linea:

self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")


Tuve un problema similar, pero mi error fue que no delegué CollectionViewCell para poder cambiar el texto de la etiqueta.


Tuve un problema similar. Yo uso el guión gráfico y establece reuseIdentifier en todas partes. En el guión gráfico de la celda y en el siguiente método:

override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell!

Pero todavía tengo problemas de que mis opiniones en mi customcell son nulas.

class CustomCell: UICollectionViewCell { @IBOutlet weak var myLabel: UILabel! }