我有一个 UITableView
,它被分成用户定义数量的 部分
。在每个 部分
中,始终有 2 个 行
。这两个行
中的每一行都包含一个用户可以编辑的UITextField
。
我需要的是一种能够在以后访问这些 UITextFields
中的数据的方法。我希望这将是一个简单的问题,但它却让我很伤心。
到目前为止,我尝试了两种方法:
尝试 1
我创建了两个 NSMutableArrays
,其中我将 UITextField
对象添加到索引 i(对应于它来自的 section
)。然后我尝试通过遍历数组来访问这些值。这没有用,因为 UITextFields
一直被擦干净。每次我向下滚动表格时,UITextField
都在 View 之外,当我返回时,它的内容已被清除干净。
尝试 2
我试图掌握 UITableView
中的 sections
的数量(这没问题)。然后我想遍历 UITableView
的每个 section
,记录每个 rows
中的值。这就是我陷入困境的地方,因为我不确定如何做到这一点,或者它是否可能。
如果这是一个天真的问题,我深表歉意,但我真的很挣扎,非常感谢任何建议。
最佳答案
请记住,文本字段会在您滚动时重复使用,因此您真的不想存储对它们的引用。
您要做的是捕获输入的信息。最简单的方法是在委托(delegate)中实现 textFieldDidEndEditing
协议(protocol)方法。
棘手的部分是找出文本字段在哪一行。最好的方法是创建一个 UITableViewCell
子类,它有一个 NSIndexPath
属性。然后,您可以在使用 tableview:willDisplayCell:forRowAtIndexPath:
配置单元格时进行设置。
然后,在 textFieldDidEndEditing 中,通过其父 View 访问 tableViewCell 的 indexPath 属性。即:
NSIndexPath indexPathOfParentCell = [(MyUITableViewCellSubclass *)self.superview indexPath];
这样做可以让您知道单元格的部分和行。
关于iphone - 如何处理动态 UITableView 中对 UITextFields 的引用 (iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820750/