prepareForSegue不起作用

时间:2013-04-22 22:36:41

标签: ios xcode

我有一个收件箱的导航控制器。当您单击表中的消息时,它将转到详细视图,该视图通过我的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'

2 个答案:

答案 0 :(得分:0)

您是否在newmessageController类中正确声明并合成了“主题”?

我不明白的是,如果您对特定的ViewController有两个不同的segue(一个用于新消息,另一个用于查看现有消息的详细信息),或者您正在重用相同的newmessageController。

答案 1 :(得分:0)

通常的做法是检查标识符的segue,以确保您“准备”的segue是您想要的。您可能需要进行此检查以确保您的prepareForSegue:不会被多次调用或从您不期望/打算的地方调用。