更改UITableViewCell中自定义原型单元格中标签上的文本

时间:2014-03-20 20:13:14

标签: ios objective-c uitableview

我已经谷歌两天了,无法找到问题的解决方案。 我有一个tableView,原型单元格有自己的类,取决于显示的原型类型。

我有一个带按钮的单元格,当我按下按钮时,我想更改不同单元格中的文本。

我试图通过标签获取单元格,但是当我更改标签文本时应用程序崩溃了。 这是查找和更改我的单元格的代码。

LDCalcPriceTableViewCell *cell = (LDCalcPriceTableViewCell *)[tableView viewWithTag:666];
cell.priceLabel.text = [NSString stringWithFormat:@"%@ kr", [[note userInfo] valueForKey:@"message"]];

我得到的错误代码是

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCellContentView changeLabelText:]: unrecognized selector sent to instance 0x924d230'

3 个答案:

答案 0 :(得分:0)

您已将标记设置为Cell ContentView而不是单元格本身,如错误所示。

[UITableViewCellContentView changeLabelText:]

LDCalcPriceTableViewCell *cell = (LDCalcPriceTableViewCell *)[tableView viewWithTag:666];

即使您已经投放到自定义的Cell类,它也不是UITableViewCell

您需要重新检查并选择单元格并在故事板中设置其标记

答案 1 :(得分:0)

NSInvalidArgumentException

将无效参数传递给方法时发生的异常的名称,例如需要非零对象的nil指针,请检查。

答案 2 :(得分:0)

该异常告诉您单元格上不存在方法changeLabelText。可能是因为您获得的单元格对象是普通UITableViewCell而不是LDCalcPriceTableViewCell。铸造没有帮助。也许你忘了在故事板中将原型单元格设置为类LDCalcPriceTableViewCell