gpt4 book ai didi

ios - 保留 UITableViewCell 子类属性

转载 作者:行者123 更新时间:2023-11-29 00:57:23 24 4
gpt4 key购买 nike

我有一个 UITableViewCell 子类,它包含一个 Bool。此属性应该持续存在(当单元格可见时),但是,我似乎已将其设置为当调用 collectionView:cellForItemAtIndexPath: 时,该属性将被重置。示例

class CellClass: UITableViewCell {

var someBool: Bool = false

func doSomethingWithBool() {
if someBool {
thing1()
someBool = false
} else {
thing2()
someBool = true
}
}
}



class CollectionView: UICollectionView {

@IBAction func buttonPressed() {
// Do some things

// cellForItemAtIndexPath called again here
self.collectionView?.reloadItemsAtIndexPaths(paths)
}

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

let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! CellClass

// Everything else

if collectionViewProperty {
// This doesn't work right because someBool is reset to false
cell.doSomething()
}

return cell
}

我需要在 init 方法中设置 someBool 吗?正确的设计方法是什么?

最佳答案

我会在您的自定义单元格中覆盖 prepareForReuse

override func prepareForReuse() {
super.prepareForReuse()
someBool = false
}

关于ios - 保留 UITableViewCell 子类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37493469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com