3

在我的应用程序中,我检查设备是否运行低于 iOS 5.0 并将主视图添加到窗口,如下所示:

if (UIDevice.CurrentDevice.CheckSystemVersion(5, 0))
    window.RootViewController = tabBarController;
else
    window.AddSubview(tabBarController.View);
// make the window visible
window.MakeKeyAndVisible(); 

我的问题是:这真的需要吗?我可以总是这样做吗:

window.RootViewController = tabBarController;

后续问题:理论上iOS(超过5.x)问世时这会起作用吗?

4

1 回答 1

3

如果您没有针对 iOS 5.0 进行上述检查,您的应用程序将在旧操作系统上崩溃。较旧的操作系统在 UIWindow 上没有 RootViewController 值。

具体来说,RootViewController 在 iOS 4 及更高版本中受支持,但在 iOS 5 及更高版本中是必需的:http: //developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html

当 iOS 6 出来时,代码仍然可以工作,因为CheckSystemVersion()确保你大于传入的值。

于 2012-07-10T21:46:47.387 回答