错误是:
2013-04-02 14:46:07.180 ECom[7855:c07] -[UITableViewController setItemRow:]: unrecognized selector sent to instance 0x768c770
2013-04-02 14:46:07.180 ECom[7855:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setItemRow:]: unrecognized selector sent to instance 0x768c770'
在最后一行代码的方法中:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"clPanelSegue"])
{
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
ECOMClPanelDetailViewController *detail = (ECOMClPanelDetailViewController*)segue.destinationViewController;
NSLog(@"clPanelSeguePathRow = %d", path.row);
[detail setItemRow:path.row];
}
}
最后一行的方法是
-(void)setItemRow:(int)aItemRow
{
clDetailItemRow = aItemRow;
}
不明白哪里出了问题。谁能帮忙?
最佳答案
首先,您的详细信息面板似乎与您想象的不一样。根据错误消息,seque.destinationViewController
属于 UITableViewController
类,而不是 ECOMClPanelDetailViewController
。这就是您首先需要追踪的内容。
其次,因此,当您发送 setItemView:
消息时,它无法被解释并引发异常。
首先查看 `destinationViewController 的实例化位置(可能是您的 XIB 文件)并确保您设置了正确的类。
关于ios - 我在 iOS UITableView 中有 NSInvalidArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15762274/