【发布时间】:2018-06-25 16:51:34
【问题描述】:
在使用 Xcode 创建的 iOS Single View App 项目中,自动生成的 AppDelegate 有一个名为 window 的实例变量:
// In AppDelegate.swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
// ...
var window: UIWindow?
// ...
}
不过,任何 iOS 应用的 UIApplication 单例也有一些与窗口相关的属性:
open class UIApplication : UIResponder {
// ...
open var keyWindow: UIWindow? { get }
open var windows: [UIWindow] { get }
// ...
}
我的猜测:
-
windowsinUIApplication只是一个长度为 1 的数组,其中唯一的窗口是AppDelegate的窗口,并且 -
keyWindows也是AppDelegate的窗口。
这是正确的吗? AppDelegate的window和UIApplication的windows是什么关系?
【问题讨论】:
标签: ios cocoa-touch appdelegate