He creado una UICollectionViewCell personalizada en el Creador de interfaces, las vistas vinculadas a la clase, y luego, cuando quiero usar y establecer una cadena en la etiqueta de la cadena, la 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 subclaseada:
class LeftMenuCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}
Respuestas:
Estoy llamando de
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
nuevo. Si está utilizando un guión gráfico, no desea llamar a esto . Sobreescribirá lo que tienes en tu guión gráfico.Si todavía tiene el cheque problema carnero
reuseIdentifier
es igual endequeueReusableCellWithReuseIdentifier
y enstoryboard
.fuente
Simplemente elimine esta línea:
fuente
Si está utilizando xib, asegúrese de haber agregado esta línea de código a su viewdidload.
C objetivo:
Rápido:
fuente
Tengo que registrar esa punta chicos!
fuente
Parece que hay dos formas de registrarme y estaba usando la incorrecta la primera. Tengo una vista xib personalizada, así que registrada con la segunda opción, ¡y tenemos datos!
1:
2:
fuente
Tuve un problema similar, pero mi error fue que no delegué CollectionViewCell para poder cambiar el texto de la etiqueta.
fuente
Creo que la mejor solución es usar directamente del guión gráfico donde agregar un
CollectionView
, como alternativa, debe eliminar unCollectionViewCell
de suCollectionView
guión gráfico y registrar una celda con el siguiente comando:fuente