Вы не говорите, что такое сбой, или не предоставляете обратный след, но одна проблема, которую я сразу вижу, состоит в том, что вы всегда делаете:
switchView = (UISwitch*)[cell viewWithTag:SWITCH_TAG];
для всех переработанных ячеек, даже если только один из трех типов имеет switchView.
Вы также устанавливаете TEXTFIELD_TAG
только для одного типа ячеек, но обращаетесь к нему при доступе ко всем типам «переработанных» ячеек.
ИЗМЕНЕНО ДЛЯ ДОБАВЛЕНИЯ: Я вижу, что вы добавили исключение из своей консоли. Исключение выдается при вызове на setSecureTextEntry
. Я не вижу setSecureTextEntry
нигде в коде, который вы копируете и вставляете в вопрос, поэтому я рекомендую искать setSecureTextEntry
в вашем реальном коде, и где бы он ни вызывался, убедитесь, что UITextField
получает этот вызов а не UITableViewCell
(который может быть суперобзором, в котором живет безопасный UITextField
).