【发布时间】:2015-07-20 05:22:33
【问题描述】:
我有一个表格视图,其中的行数取决于用户创建的条目数。 假设用户创建了 2 个条目,因此我们有 2 行。
现在,每行点击时都会创建一个子视图,其中包含另一个具有 2 行和 2 个 UISwitches 的表 (就像一棵树。2 行,每行扩展为 2 个新行,每行都有一个 UISwitch)
所有 UISwitch 状态在更改时都会更新字典字典。 例如以下
[0:[0:假,1:真],1:[0:假,1:假]]
第 0 行 -> 第一个开关:OFF,第二个:ON
第 1 行 -> 第一个开关:OFF,第二个:OFF
场景:
所有的 UISwitches 都是 ON 因此,[0: [0: true, 1: true], 1: [0: true, 1: true]]
第0行的第一个UISwitch被点击-> [0: [0: false, 1: true], 1: [0: true, 1: true]]]
第一行的第二个 UISwitch 被点击 -> [0: [0: false, 1: true], 1: [0: false, 1: false]]
它会按预期关闭自己,但也会关闭所有其他(粗体)在第一步中为不同行 UIswitches 轻按的所有其他(粗体)。它似乎记住了上一步,但把行弄乱了。
代码:
//smallDictionary is a dictionary
//bigDictionary is a dictionary of dictionaries
// smallDictionary is appended to bigDictionary
// row is a variable updated everytime some row is tapped.
@IBAction func switchChanged(sender: UISwitch) {
if sender.on == true {
smallDictionary[sender.tag]! = true
bigDictionary[row]! = globalswitchSaveDict
}
else {
smallDictionary[sender.tag]! = false
bigDictionary[row]! = globalswitchSaveDict
}
}
【问题讨论】:
标签: swift uiswitch programmatically-created