问题:[_window addSubview:]与_window.rootViewController区别

问题描述

在iOS AppDelegate中application:didFinishLaunchingWithOption:中如果向window中添加主视图用

[_window addSubview:mainVC.View];

Xcode会报错:

'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'

应该用

_window.rootViewController = mainVC;

原因

addSubView:添加的mainVC不是根视图控制器,此时没有根视图控制器,不设置根视图控制器XCode就会报错。建议使用第二种,直接设置,由根视图控制器负责管理对应的视图。

你可能感兴趣的:(问题:[_window addSubview:]与_window.rootViewController区别)