2015-05-09 3 views
1

У меня есть табличный вид с количеством строк в зависимости от того, сколько записей создано пользователем. Предположим, что пользователь создал 2 записи, таким образом, у нас есть 2 строки.UISwitch меняет два значения за раз

Теперь Каждая строка при постукивании создает подвид с другой таблицей с 2 ​​рядами и 2 UISwitches (Так же, как дерево. 2 строки, каждый из расширения до 2-х новых строк каждой с UISwitch)

Всего UISwitch утверждает, когда изменено обновление словаря словарей. , например. следующая

[0: [0: ложно, 1: истинно], 1: [0: ложно, 1: ложь]]

строка 0 -> Первый переключатель: ВЫКЛ, второй: ВКЛ

строка 1 -> первый переключатель: ВЫКЛ, второй: ВЫКЛ

Сценарий:

Все UISwitches включены, таким образом, [0: [0: истинно, 1: истинно], 1: [0: истинно, 1 : true]]

Первый UIS-переключатель 0-й строки, снятый с охраны-> [0 : [0: false, 1: true], 1: [0: true, 1: true]]

Второе UISwitch 1-й строки отключено -> [0: [0: false, 1: true], 1 : [0: ложно, 1: ложь]]

получается eachself Выкла по назначению, но и все остальные (жирный шрифт), что, где отведена на первом этапе для другого ряда 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 
    } 
} 

ответ

0

Исправлена ​​проблема.

бы добавить Алину кода для обновления правильного smallDict, как показано ниже:

@IBAction func switchChanged(sender: UISwitch) { 
    smallDictionary = bigDictionary[row]! 
    if sender.on == true { 
     smallDictionary[sender.tag]! = true 
     bigDictionary[row]! = globalswitchSaveDict 

    } 
    else { 
     smallDictionary[sender.tag]! = false 
     bigDictionary[row]! = globalswitchSaveDict 
    } 
} 
Смежные вопросы