在我的应用程序中,我使用分段在三个 View 中切换。每个段都用容器 View 表示,它们会根据段隐藏或出现。我的设计就是这样工作的,而且效果很好。你可以找到下图,这样你可以更了解结构:
我无法将在 View Controller 中创建的实例(即用户)提供给分段容器的 View Controller 。我在用户中创建了用户并为其分配了值。用户实例具有值,我检查了它。所以,像往常一样给与 segue,我尝试了 prepareForSegue:sender 方法来达到我的目的。在 TableView 的 viewLoad 方法中(您可以找到 TableView :每个 TableView 都附加到具有段的 View Controller 中自己的容器。有 3 个容器。)表 View 的用户实例为空。我给不了,基本上。 View Controller 不应该传递用户值吗?它可能是容器 View ,但我仍然认为它应该是 无论如何,请在下面找到我到目前为止所写的内容:
- (void)prepareForSegueUIStoryboardSegue *)segue senderid)sender{
UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
DovizTableViewController *controller = (DovizTableViewController *)navController.topViewController;
controller.user = self.user;
}
Best Answer-推荐答案 strong>
您将删除代码的发件人部分。
应该是这样的:
- (void)prepareForSegueUIStoryboardSegue *)segue{
//your code
//check if the next view exists by checking for the id
if ([[segue identifier] isEqualToString"Segue_Name"])
{
DovizTableViewController *controller = [segue destinationViewController];
controller.user = self.user;
}
}
关于ios - 如何使工作preparForSegue :sender: XCode 6?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31203073/
|