使用标识符实例化ViewController会导致使用storyboard和xib导致崩溃

时间:2014-04-22 12:10:43

标签: ios storyboard xib nib

所以我使用了故事板和xib。

我在ViewController中使用tableview,它有一个自定义标头作为xib文件(VC是文件所有者)。

我想在标题上滑动时展示我的新VC,我使用IB为xib添加了一个滑动手势,但现在我在呈现它时出现问题。

当我试图实例化ViewControllerWithIdentifier时崩溃。我做了我提出的VC的财产。并设置正确的标识符" swipeRight"。

    - (IBAction)swipedRight:(id)sender {
        NSLog(@"right");
        if (_mpvc == nil) { //user those if only so the use wont push it twice and more
            _mpvc = [self.storyboard instantiateViewControllerWithIdentifier:@"swipeRight"];
        }
[self presentViewController:_mpvc animated:YES completion:nil];
    }

错误:

Cannot find executable for CFBundle 0x9022120 </Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/System/Library/AccessibilityBundles/GeoServices.axbundle> (not loaded)

1 个答案:

答案 0 :(得分:1)

如果您在XIB文件中,您如何知道您使用的是哪个故事板?首先,您必须实例化包含具有指定标识符的viewController的storyboard:

UIStoryboard *st = [UIStoryboard storyboardWithName:@"StoryboardName" bundle:nil];

必须使用您创建的故事板实例化viewController:

UIViewController _mpvc = [st instantiateViewControllerWithIdentifier:@"swipeRight"];

然后最后你必须提出viewController:

[self presentViewController:_mpvc animated:YES completion:nil];

希望它能解决你的问题!