我正在使用带有CollectionViewCells数组的UICollectionView创建一个向导:
var viewCells:[BaseCVCell] = [createEventSubjectSearch(), createEventEventForm()]
根据用户控制的一系列UISwitch动态添加此数组。我可以使用下面的代码添加到数组中,但是当用户关闭开关时,我似乎无法移除项目。
func switchToggled(sender : UISwitch) {
if sender == createDiarySwitch {
if sender.isOn {
parentClass?.viewCells.append(createEventDeferEvent())
} else {
if let i = parentClass?.viewCells.index(where: { $0 == createEventDeferEvent() }) {
parentClass?.viewCells.remove(at: i)
}
}
}
if sender == createDeferredSwitch {
if sender.isOn {
parentClass?.viewCells.append(createEventDiariseEvent())
} else {
if let i = parentClass?.viewCells.index(where: { $0 == createEventDiariseEvent() }) {
parentClass?.viewCells.remove(at: i)
}
}
}
parentClass?.wizardCollectionView.reloadData()
}
我已尝试过上述代码,以及:
if let index = parentClass?.viewCells.index(of: createEventDiariseEvent()) {
parentClass?.viewCells.remove(at: index)
}
两种方法都不起作用(没有错误,代码永远不会返回值)。我想尝试避免在可能的情况下命名元素。有没有办法做到这一点?
答案 0 :(得分:0)
感谢您的回答,DonMag
我通过在主类中实例化两个动态单元来实现所需的功能:
Dim cell as Object
For Each cell in Selection
cell.value = cell.value / 1000000
Next cell
然后在循环调用中如此:
let diariseCell : createEventDiariseEvent()
现在有魅力。令人惊讶的是另一双眼睛可以挑选出来的东西!