我有一个tableview,每个单元都从xib加载 . 它的格式为UILabel一些空格和UITextField . 在按钮上单击视图上的某个位置我需要操作以使用字典中的标签获取UITableView中的所有文本字段值 . 问题是当我分配一个单元格并使用indexPath从那里获取值时,代码会在单元格的indexPath处完全崩溃,该单元格是不可见的(超出屏幕范围) .
我很欣赏有关如何获取屏幕上不可见的单元格的任何好主意 .
谢谢!
UITableViewCells在滚出视图时会被重用,这可能就是为什么它不会让你访问不可见的UITableViewCells的属性 .
NSDictionary可能是您最好的选择:
在创建单元格期间,根据 indexPath.row 值为每个单元格的 UITextField 设置标记 .
indexPath.row
UITextField
将每个 UITextField 的委托设置为视图控制器 .
在委托方法 textFieldDidEndEditing 中,更新字典: [dictionary setObject:textField.text forKey:[NSNumber numberWithInt:textField.tag]]
textFieldDidEndEditing
[dictionary setObject:textField.text forKey:[NSNumber numberWithInt:textField.tag]]
现在,您可以使用 [dictionary allValues] 访问textField值的数组 .
[dictionary allValues]
1 回答
UITableViewCells在滚出视图时会被重用,这可能就是为什么它不会让你访问不可见的UITableViewCells的属性 .
NSDictionary可能是您最好的选择:
在创建单元格期间,根据
indexPath.row
值为每个单元格的UITextField
设置标记 .将每个
UITextField
的委托设置为视图控制器 .在委托方法
textFieldDidEndEditing
中,更新字典:[dictionary setObject:textField.text forKey:[NSNumber numberWithInt:textField.tag]]
现在,您可以使用
[dictionary allValues]
访问textField值的数组 .