一种相当简单的方法是利用表的索引路径,它不是最干净的,因此它取决于数据源的复杂性,以及是否有多个表等。
您可以做的是当用户结束编辑 textView 或在 tableView 中选择另一行时,您读取所选行的 indexPath(这要求该行在编辑 textView 时保持实际处于选定状态,默认情况下) . 从那里你调用你的更新方法。
要赶上编辑的结束,您实施
-(void)textViewDidEndEditing:(UITextView *)textView
{
NSIndexPath *selectedpath = [myTable indexPathForSelectedRow];
[self myUpdateMethodForIndexPath:selectedpath];
}
要捕获取消选择表格行并且不会调用上述内容,您可以实现
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self myUpdateMethodForIndexPath:indexPath];
}
然后,您的更新方法必须在 indexPath 的相应单元格中读取 textView 的值,并在数据源中进行处理。当然,要关心部分,您需要正确处理 indexPath,在示例中仅使用行(1 部分)。
-(void)myUpdateMethodForIndexPath:(NSIndexPath *)editPath
{
UITableViewCell *editCell = [myTable cellForRowAtIndexPath:editPath];
NSString *newText = editCell.theTextView.text;
....
NSMutableDictionary *dict = [myDictArray objectAtIndex:editPath.row];
....
}