makeKeyAndVisible的作用

[self.window makeKeyAndVisible]

由于iPhone是单窗口程序,所以也就只有这么一个Window对象,而且是UIWindow,不是NSWindow。而根据文档上所说:
“这个是便捷方法,去使被使用对象的主窗口显示到屏幕的最前端。你也可以使用hiddenUIView方法隐藏这个窗口”
所以基本上来说,对于编程者的区别仅仅在于在其前添加代码,或在其后添加代码。

你可能想到以下答案:

  1. window调用了makeKeyAndVisible方法
  2. 向window发送makeKeyAndVisible消息

第2种才是正确的描述。可以说UIWindow对象实现了makeKeyAndVisible方法,但调用什么方法是在运行时确定的,所以向window对象发送makeKeyAndVisible消息,会导致在运行时调用window对象的makeKeyAndVisible方法。

05-08 14:50