在通用应用程序中获取主要故事板

dan*_*anh 7 iphone storyboard ipad ios ios-universal-app

在一个通用项目中尝试我,我想从故事板中加载一个vc标识符.有没有办法避免在访问故事板时明确检查成语.

这个丑陋的代码有效....

UIStoryboard *storyboard;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
}
else {
    storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
}

UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
Run Code Online (Sandbox Code Playgroud)

但是你好.字符串文字主要故事板很难看(不知道为什么项目不能保存主故事板设置,以便应用程序可以说[UIStoryboard mainStoryboard];)但显式的成语检查是一个过头的桥梁.

是否有任何隐藏的智能(可与支持视网膜显示的"@ 2x"图像后缀相比)清除此代码?

Des*_*ond 15

假设您正在从另一个视图控制器内部执行发布的代码,您可以随时获取当前的故事板[self storyboard],其中self是UIViewController的任何实例.