从窗体类型单元格获取数据
问题描述:
我有一个表视图,列出了联系人。点击编辑单元重新加载并将标签作为文本输入呈现。我需要在右上方有保存按钮,所以当我点击保存时,如何从Cell中获取更新的输入?由于行动是从外部触发的,我需要向单元发送一些消息。从窗体类型单元格获取数据
现在我正在使用cellForRowAtIndexPath
和通过访问单元格属性来获取数据。
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"id "forIndexPath:editCellIdx];
NSString *input 1 = cell.labelOne.text; ... and so on
有什么更好的办法吗?
答
您可以将编辑的数据保存在NSMutableDictionary或NSMutableArray中。然后重新加载tableview数据。
您可以从下面的方法
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSString *cellEditedText = textField.text;
// save this text in dictionary or array.
}
- (void)saveData
{
[tableview reloadData];
}
获得文本框的文本编辑,我认为你应该修改模型立即文本editted。因此,如果用户决定不保存数据,则需要放弃半编辑模型,基本上什么也不做。因此,当您进入编辑模式时,请取一个模型的*副本,并在保存时用已编辑的模型覆盖原始模型。 – trojanfoe 2014-09-20 09:20:43
@trojanfoe我有一个类似的想法。而不是将模型暴露给View。我可以编写一个接口,在编辑后将文本委托给后者,并且视图控制器将不断用文本更新模型。使用这样的委托是否是一个矫枉过正的问题,或者这比使用atleast更好? – user88975 2014-09-21 09:06:42