[ios] Perché l'uscita di UICollectionViewCell è nulla?



Answers

Basta rimuovere questa riga:

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

Ho creato un UICollectionViewCell personalizzato in Interface Builder, le viste associate alla classe, e poi quando voglio usare e impostare una stringa sull'etichetta sulla stringa, l'etichetta ha un valore nullo.

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
}

E la cella sottoclasse:

class LeftMenuCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}



Ho un problema simile. Io uso lo storyboard e set reuseIdentifier lo stesso ovunque. Nello storyboard sulla cella e nel seguente metodo:

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

Ma ho ancora problemi che i miei punti di vista nella mia customcell sono nulli.

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



Devo registrare quel tipo di pennino!

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



Related