Iphone 在目标c中重新加载后如何更改单元格的值?

Iphone 在目标c中重新加载后如何更改单元格的值?,iphone,uitableview,Iphone,Uitableview,是否有任何方法可以在单元格加载后更改其值?实际上,我在表中有一个textfield,在插入相同的值后,我需要对textfield值执行一些数字操作,值计算器需要显示在下一个单元格中的标签上 那么我怎样才能得到同样的结果呢?知道吗 提前感谢。在UITableView中更新单元格有几种方法 1) 调用表视图方法reloadRowsAtIndexPaths:withRowAnimation:。这将触发对委托方法的调用tableView:cellforrowatinexpath:。如果您有正在更新的数据

是否有任何方法可以在单元格加载后更改其值?实际上,我在表中有一个textfield,在插入相同的值后,我需要对textfield值执行一些数字操作,值计算器需要显示在下一个单元格中的标签上

那么我怎样才能得到同样的结果呢?知道吗


提前感谢。

UITableView
中更新单元格有几种方法

1) 调用表视图方法
reloadRowsAtIndexPaths:withRowAnimation:
。这将触发对委托方法的调用
tableView:cellforrowatinexpath:
。如果您有正在更新的数据源,这将是更新单元格的一种好方法

NSIndexPath *indexPathOfUpdatedCell = ...
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPathOfUpdatedCell] withRowAnimation:UITableViewRowAnimationFade];
2) 也可以直接更新单元格。您可以使用
cellforrowatinexpath:

NSIndexPath *indexPathOfUpdatedCell = ...
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPathOfUpdatedCell];
cell.textLabel.text = @"new value";
要为特定行和节创建索引路径,可以使用
indexPathForRow:instation

NSUInteger row = ...
NSUInteger section = ...
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];

对于您尝试执行的操作,最好的方法是将视图控制器设置为
,将单元格的文本字段委托设置为self,然后实现textfielddidediting:delegate方法

更改接口文件以采用协议

@interface YourViewController : UIViewController <UITextFieldDelegate>
并最终实现

- (void) textFieldDidEndEditing:(UITextField *)textField.

每当用户完成编辑UITextField时,就会调用此方法,当它传递对它的引用时,您可以访问它的值,执行您可能需要的任何验证并将其分配回textfield。

标签是在运行时创建的?我不明白您的问题出在哪里。是否需要更新UITextField的文本,并且该文本字段位于没有引用的单元格内?是的,它是在运行时创建的。在cellForRowAtIndexPath方法中,我正在传递textfield中的值,该值应反映在下一个单元格中的标签中。textfield值应保持原样,标签值应从0更改为其他值。感谢您的帮助,但您能否告诉我如何传递NSIndexPath*indexPathOfUpdatedCell中的行索引。我尝试了指数化的位置,但我没有得到具体的格式。非常感谢你的解决方案罗伯特。
- (void) textFieldDidEndEditing:(UITextField *)textField.