makeKeyAndVisible的作用
[self.window makeKeyAndVisible]
由于iPhone是单窗口程序,所以也就只有这么一个Window对象,而且是UIWindow,不是NSWindow。而根据文档上所说:
“这个是便捷方法,去使被使用对象的主窗口显示到屏幕的最前端。你也可以使用hiddenUIView方法隐藏这个窗口”
所以基本上来说,对于编程者的区别仅仅在于在其前添加代码,或在其后添加代码。
你可能想到以下答案:
- window调用了makeKeyAndVisible方法
- 向window发送makeKeyAndVisible消息
第2种才是正确的描述。可以说UIWindow对象实现了makeKeyAndVisible方法,但调用什么方法是在运行时确定的,所以向window对象发送makeKeyAndVisible消息,会导致在运行时调用window对象的makeKeyAndVisible方法。