我在UICollectionViewCell中有一个变量,我现在正在测试...这里是我的cellforitem
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let c = collectionView.dequeueReusableCell(withReuseIdentifier: chatCellId, for: indexPath) as! ChatCell
c.userDidSend = (indexPath.item % 2 == 0) ? true : false
return c
}
在ChatCell类中,我使用var userDidSend: Bool?
初始化变量
但是每当我测试变量时,它总是返回nil。下面是为每个单元格测试变量的地方。
override func setupViews() {
super.setupViews()
if userDidSend == true {
setupSentChat()
} else if userDidSend == false {
setupRecievedChat()
}
print(userDidSend)
}
除了这个特殊问题,一切正常。 想法?
修改 初始化单元视图时会调用setupViews。
override init(frame: CGRect){
super.init(frame: frame)
setupViews()
}
答案 0 :(得分:0)
使用自定义setter似乎解决了这个问题。
var userDidSend: Bool? {
didSet {
if userDidSend == true {
setupSentChat()
} else if userDidSend == false {
setupRecievedChat()
}
}
}