我在Interface Builder中创建了一个自定义UICollectionViewCell,将其上的视图绑定到该类,然后当我要使用字符串并将其设置为字符串上的标签时,tha标签的值为nil。
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
}
和子类的单元格:
class LeftMenuCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}
您使用显式“!”是否有原因?除了到处都有类型名称?似乎是多余的,尤其是在IBOutlets中。唯一可能重要的地方是将单元格作为LeftmenuCollectionViewCell出队,但不在那里。
—
mc01 2014年
如果我删除“!” 或使用“?” 在类定义中,出现编译器错误或崩溃。“!” 是绑定时的默认值。
—
亚诺什
ant单元格本身:<xxx.LeftMenuCollectionViewCell:0x7aa7b320; baseClass = UICollectionViewCell; 框架=(0 0; 180 50); 层= <CALayer的:0x7aa6f810 >>
—
亚诺什
所有网点都挂在IB上了吗?其他网点有作用吗?看不到其他明显问题,对不起。
—
mc01 2014年