无法从AppDelegate导航到UIViewController

时间:2019-05-03 16:10:07

标签: ios objective-c uinavigationcontroller storyboard

我正在尝试从AppDelegate didViewLoadFinished函数进行导航,但是由于对iOS完全陌生,因此无法成功。我正在为ViewControllers使用情节提要。

我还检查了其他类似的解决方案:Swift - pushViewController from appDelegate, rootViewController.navigationController is nil 但这并不能解决我的问题。

这是我在故事板上的ViewController: StoryBoard screenshot

这是我尝试加载新的ViewController“ MultipleMarkersViewController”的方式:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main.storyboard" bundle:nil];
            MultipleMarkersViewController *wc=[storyboard instantiateViewControllerWithIdentifier:@"MultipleMarkersView"];
            [self.window.rootViewController.navigationController pushViewController:wc animated:YES];

预期结果是加载新的ViewController。 但是实际结果是“ App崩溃”,并显示以下日志输出:

0   CoreFoundation                      0x000000010894f6fb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x0000000107ef3ac5 objc_exception_throw + 48
    2   UIKitCore                           0x00000001119f9624 +[UIStoryboard storyboardWithName:bundle:] + 675
    3   Runner                              0x00000001060b09bd __57-[AppDelegate application:didFinishLaunchingWithOptions:]_block_invoke + 909
    4   Flutter                             0x000000010614c9a2 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 115
    5   Flutter                             0x0000000106169616 _ZNK5shell21PlatformMessageRou<…>

2 个答案:

答案 0 :(得分:0)

这是我经过24小时的努力后解决的问题。我唯一尝试的是“ Used Try Catch Block”,错误是我没有使用正确的标识符名称,这导致了空指针异常。 这是代码:

git config --global credential.https://github.com.useHttpPath true

答案 1 :(得分:0)

在加载情节提要时,无需在其名称后添加扩展名“ .storyboard”。 因此,请使用以下代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

关于最后一行,如果您要从[AppDelegate didFinishLaunchingWithOptions]加载视图,则我希望使用以下行:

[self.window setRootViewController: wc]