我已经谷歌两天了,无法找到问题的解决方案。 我有一个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'
答案 0 :(得分:0)
您已将标记设置为Cell ContentView而不是单元格本身,如错误所示。
[UITableViewCellContentView changeLabelText:]
LDCalcPriceTableViewCell *cell = (LDCalcPriceTableViewCell *)[tableView viewWithTag:666];
即使您已经投放到自定义的Cell类,它也不是UITableViewCell
您需要重新检查并选择单元格并在故事板中设置其标记
答案 1 :(得分:0)
NSInvalidArgumentException
将无效参数传递给方法时发生的异常的名称,例如需要非零对象的nil指针,请检查。
答案 2 :(得分:0)
该异常告诉您单元格上不存在方法changeLabelText
。可能是因为您获得的单元格对象是普通UITableViewCell
而不是LDCalcPriceTableViewCell
。铸造没有帮助。也许你忘了在故事板中将原型单元格设置为类LDCalcPriceTableViewCell
?