我有一个收件箱的导航控制器。当您单击表中的消息时,它将转到详细视图,该视图通过我的prepareForSegue方法获取数据。
我在顶部有一个条形按钮“撰写”新消息。
按钮一直工作,直到我输入prepareForSegue方法,然后当我按下按钮时崩溃。我调试它,它说这是因为prepareForSegue方法。我可以点击tableview中的消息,它将转到详细视图并正确显示所有信息,但按钮现在不起作用。
以下是prepareForSegue的代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
messageDetails * dvc = segue.destinationViewController;
messages * currentMessage = [messagesArray objectAtIndex:indexPath.row];
dvc.subject = currentMessage.subjectMessage;
dvc.body = currentMessage.bodyMessage;
}
我收到错误:
2013-04-22 18:24:22.107 GreekConnect[3904:c07] -[newmessageController setSubject:]: unrecognized selector sent to instance 0x7558f30
2013-04-22 18:24:22.108 GreekConnect[3904:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[newmessageController setSubject:]: unrecognized selector sent to instance 0x7558f30'
答案 0 :(得分:0)
您是否在newmessageController类中正确声明并合成了“主题”?
我不明白的是,如果您对特定的ViewController有两个不同的segue(一个用于新消息,另一个用于查看现有消息的详细信息),或者您正在重用相同的newmessageController。
答案 1 :(得分:0)
通常的做法是检查标识符的segue,以确保您“准备”的segue是您想要的。您可能需要进行此检查以确保您的prepareForSegue:不会被多次调用或从您不期望/打算的地方调用。