2017-08-30 72 views
2

Application placeholder (highlighted)Interface Builder中的MainMenu.xib文件中的应用程序占位符的用途是什么?就在Interface Builder <a href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html" rel="nofollow noreferrer">Nib Files</a>

苹果的开发者文档中提到的应用程序的占位符(在图片上面突出),但并没有解释其目的或何时应该使用它。文章解释了另外两个占位符 - File's Owner和First Responder - 相当不错。

我将不胜感激关于应用程序占位符的任何信息,并链接到我可能错过的任何文档。

此外,在Identity Inspector中,为什么NSObject类型的应用程序占位符代替NSApplication?

回答

1

从Interface Builder中的文件3.2.6(版权1999-2010):

在可可豆粒文件,应用程序占位符对象为您提供了一种方法来应用程序的共享NSApplication对象的出口连接到您的nib文件中的自定义对象。默认的应用程序对象具有用于其委托对象的出口,并且在Cocoa应用程序中具有应用程序菜单栏。如果您定义NSApplication的自定义子类,则可以连接在您的子类中定义的任何其他插座和操作。

在2009年的MainMenu.nib文件中,代理连接到应用程序占位符而不是文件所有者。在2012年的XIB文件中,应用程序占位符不是类NSObject。现在唯一我能想到的用途是绑定Application.delegate.someProperty

+0

对于Willeke提到的绑定目的,您不会直接绑定到Interface Builder中的蓝色立方体委托,或者在代码中绑定到'NSApp.delegate.someProperty'? –

+0

蓝色立方体存在于MainMenu.xib中,而在其他xib中则不存在。绑定的乐趣是你不需要任何代码。在代码中设置绑定根本不好玩。 – Willeke

相关问题