ios - 如何让工作preparForSegue :sender: XCode 6?

标签 ios objective-c xcode uistoryboard uistoryboardsegue

在我的应用程序中,我使用分段在三个 View 中切换。每个段都用容器 View 表示,它们根据段隐藏或显示。这就是我的设计的工作原理,而且效果很好。您可以找到下面的图片,这样您可以更了解结构:

enter image description here

我无法将在 View Controller 中创建的实例(即用户)提供给分段容器的 View Controller 。我在用户中创建了用户并为其分配了值。用户实例有值,我检查了它。因此,像往常一样使用segue,我尝试了prepareForSegue:sender方法来实现我的目的。在 TableView 的 viewLoad 方法中(您可以找到 TableView :每个 TableView 都附加到具有段的 View Controller 中自己的容器。共有 3 个容器。)表​​ View 的用户实例为 null。基本上我不能给。 View Controller 不应该传递用户值吗?它可能是容器 View ,但我仍然认为它应该是:)无论如何,请在下面找到我到目前为止所写的内容:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

        UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
        DovizTableViewController *controller = (DovizTableViewController *)navController.topViewController;
        controller.user = self.user;
}

最佳答案

您将删除代码的发件人部分。

它应该看起来像这样:

- (void)prepareForSegue:(UIStoryboardSegue *)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/

相关文章:

ios - 如何释放 viewwilldisappear MKMapView 上的内存?

objective-c - 无法从 Swift 访问桥接的 NSArray

ios - 使用 NSFetchedResultsController 在 tableView 中没有数据 View

ios - 文本字段和标签编辑错误

ios - 与另一家公司合作时上传 iOS App

ios - 显示部分标题 UICollectionReusableView

iphone - UIView 阴影不显示

ios - fmdb 路径并从另一个 viewController 第二次使用 db

ios - 空 UIStackView 导致高度/位置不明确

iphone - 实例变量在iOS应用程序中未保留值