【发布时间】:2021-04-06 10:06:00
【问题描述】:
如果语句为真,我希望能够不允许 UISwitch 更改。 要设置单元开关,我有
cell.accessoryView = addAccessory()
addAccessory 是一个方法,它将addTarget(self, action: selectorMethod, for: .touchUpInside),设置测试和可访问性元素,并返回一个 UISwitch。我试过了
if (statement is true) {
addAccessory().isOn = UserDefaults.standard.bool(forKey: "myKey") //the userDefault hasn't changed so I tried keeping it set to this value
}
我还尝试了if 块中的setOn 方法,但没有成功。
isOn 和 setOn 尝试均无效。我现在可以使用它,但它只能通过重置我的附件视图并“重新调用”cell.accessoryView = addAccessory() 来工作。我想知道是否有更好的方法来做到这一点。
【问题讨论】:
-
addAccessory().isOn =正在创建一个新实例。你的代码没有任何意义 -
这就是我所说的。通过“重置”,我的意思是它创建了一个新实例,其值与我最初给它的值相同
-
我应该写得更清楚。我有一个例子,我只是这样写下来试图减少混乱,但这适得其反
-
你知道如何以编程方式不让选中的单元格发生变化吗?