iOS Trivia问题
有关应用程序,应用程序代理,窗口和RootViewController的21个简单问题。
FinishLaunchingWithOptions哪个类调用?
UIApplicationMain
哪个类具有window属性?
应用程序委托
哪个类具有rootViewController属性?
UIWindow
该应用的委托属性属于哪一类?
UIApplication
哪个类实例化UIWindow?
UIApplicationMain
哪个类实例化了rootView控制器?
UIApplicationMain类
什么@标记可使应用程序知道该类是应用程序委托?
@UIApplicationMain
您可以在项目中看到UIApplicationMain吗?
是,关于目标C,否是Swift
什么时候可以看到您的应用界面? 必须对窗口实例进行什么方法调用?
MakeKeyandVisible
应用程序如何知道主故事板的名称?
在info.plist文件中。
如何在不使用主故事板的情况下创建应用?
在didFinishLaunchingWith选项中:
- 实例化一个UIWindow
- 将其分配给appdelegate.window
- 实例化视图控制器
- 分配给window.rootViewController
- 在窗口上调用makeKeyAndVisible
- 瞧
(请注意,这在如今并不常见)
视图实例化哪个类?
UIView
哪个类可以让视图响应触摸和滑动?
UIResponder
对或错,所有视图和图层都是UIResponders
假。 只有视图是UIResponders
是非题,一个应用程序始终只有一个UIWindow
假。 如果您的应用程序还使用一个外部屏幕,则它可以具有多个UIWindow
一种常见的情况是,如果用户已登录,则跳过登录屏幕。您将如何做?
检查UserDefaults的登录状态。
- 如果用户尚未登录,请继续执行该应用。
- 如果用户已登录,请在登录后实例化下一个视图控制器,并将其分配给window.rootviewcontroller。
是否可以继承UIWindow并使用它?
是的,只需将myWindow()分配给应用程序委托中的window属性。
如果您在不是根视图控制器的ViewController中,那么如何获得对窗口的引用?
在每个视图中。 引用“ self.view.window”
如果视图的window属性为nil,对用户有什么影响?
该窗口对用户不可见
您可以从应用程序委托实例获取对窗口的引用吗?
是的,您可以得到:
- 令w = UIApplication.shared.delegate!.window !!
要么
- 令w =(UIApplication.shared.delegate as!AppDelegate).window!
您还可以通过UIApplication.shared上未命名为.window的属性来获取对窗口的引用。 该财产的名称是什么?
.sharedWindow
- 但是,这是一个易失性参考。 该应用程序可以创建临时窗口,并将其插入作为应用程序的关键窗口。