Objective c 正确的代码类型:AppDelegate中的addSubview或direct controller赋值?

Objective c 正确的代码类型:AppDelegate中的addSubview或direct controller赋值?,objective-c,ios,view,uiviewcontroller,Objective C,Ios,View,Uiviewcontroller,什么类型的代码是正确的,以及它们如何工作(如果结果相同,第一个和第二个代码之间有什么区别): 在应用程序中:didFinishLaunchingWithOptions:要使第一个控制器的视图可见,我可以使用以下方法: [self.window addSubview:myController.view]; [self.window makeKeyAndVisible]; 或 区别是什么??哪一个是正确的和更安全的 尊敬的Alex。窗口也是从UIView继承的 rootViewController

什么类型的代码是正确的,以及它们如何工作(如果结果相同,第一个和第二个代码之间有什么区别):

在应用程序中:didFinishLaunchingWithOptions:要使第一个控制器的视图可见,我可以使用以下方法:

[self.window addSubview:myController.view];
[self.window makeKeyAndVisible];

区别是什么??哪一个是正确的和更安全的


尊敬的Alex。

窗口也是从UIView继承的

rootViewController是窗口的属性,而不是来自UIView

根视图控制器提供窗口的内容视图。将视图控制器指定给此属性(以编程方式或使用Interface Builder)会将视图控制器的视图安装为窗口的内容视图。如果窗口具有现有视图层次结构,则在安装新视图之前将删除旧视图

此属性的默认值为零

addsubview方法继承自UIView


如果你第一次使用这个窗口,你会得到同样的效果。

窗口也是从UIView继承的

rootViewController是窗口的属性,而不是来自UIView

根视图控制器提供窗口的内容视图。将视图控制器指定给此属性(以编程方式或使用Interface Builder)会将视图控制器的视图安装为窗口的内容视图。如果窗口具有现有视图层次结构,则在安装新视图之前将删除旧视图

此属性的默认值为零

addsubview方法继承自UIView

如果你第一次使用这个窗口,那么你会得到同样的效果

self.window.rootViewController = self.myController;
[self.window makeKeyAndVisible];