【问题标题】:ios/xcode/objective-c: Segue to modal view controller embedded in navigation controllerios/xcode/objective-c: Segue 到嵌入在导航控制器中的模态视图控制器
【发布时间】:2015-07-20 01:16:44
【问题描述】:

我有一个从细节视图控制器中的按钮到显示地图的新模式视图控制器的转场。

为了传递要在地图上显示的位置,我使用preparetosegue如下:

if ([segue.identifier isEqualToString:@"showMap"]) {

        IDMapView *destViewController = segue.destinationViewController;   
            destViewController.contact=_contact;
             }

但是,我在导航控制器中嵌入模态视图控制器以实现取消按钮后,当我单击在日志中给出错误的按钮时,应用程序现在崩溃了:

[UINavigationController setContact:]: unrecognized selector sent to instance 0x7f8738ea5ce0
(lldb) 

该错误似乎与导航控制器没有属性联系(位于视图控制器上)有关。

任何人都可以提出正确的方法吗?

【问题讨论】:

    标签: ios objective-c xcode segue


    【解决方案1】:

    destinationViewController 现在是 UINavigationController 而不是 IDMapView。您需要从UINavigationController 获取topViewController

    if ([segue.identifier isEqualToString:@"showMap"]) {
        UINavigationController *navigationController = segue.destinationViewController;
        IDMapView *destViewController = navigationController.topViewController;   
        destViewController.contact=_contact;
    }
    

    【讨论】:

    • 工作。惊人的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2017-05-13
    • 2012-05-01
    相关资源
    最近更新 更多