Таким образом, ваш код, как написано, будет добавлять новую кнопку в каждую ячейку всякий раз, когда она перемещается на экран. Вам нужно сделать что-то очень похожее на ваши iconsImages
и iconsList
(которые, я полагаю, принадлежат NSArray).
Вот что вам нужно сделать:
1 Добавьте новый NSMutableArray
в заголовочный файл и затем правильно инициализируйте его в исходном файле. Это должно быть почти так же, как два существующих массива. Допустим, вы называете это iconsSwitchStates
.
2 Когда вы создаете переключатели, установите тег и состояние следующим образом:
[switch1 setTag:indexPath.row];
if ([iconsSwitchStates count] > indexPath.row) {
[switch1 setOn:[iconsSwitchStates objectAtIndex:[indexPath.row]];
}
3 В функции, которая у вас уже есть (buttonPressed:
), вам необходимо установить состояние переключателя.
[iconsSwitchStates replaceObjectAtIndex:sender.tag withObject:[NSNumber numberWithBool:sender.on]];