Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Interface Builder中MainMenu.xib文件中应用程序占位符的用途是什么?_Xcode_Cocoa_Interface Builder_Xib_Nib - Fatal编程技术网

Xcode Interface Builder中MainMenu.xib文件中应用程序占位符的用途是什么?

Xcode Interface Builder中MainMenu.xib文件中应用程序占位符的用途是什么?,xcode,cocoa,interface-builder,xib,nib,Xcode,Cocoa,Interface Builder,Xib,Nib,苹果在Interface Builder上的开发者文档中提到了应用程序占位符(在上图中突出显示),但没有解释其用途或使用时间。本文很好地解释了另外两个占位符文件的所有者和第一响应者 如果您能提供有关应用程序占位符的任何信息,以及我可能错过的任何文档的链接,我将不胜感激 此外,在Identity Inspector中,为什么应用程序占位符的类型为NSObject,而不是例如NSApplication?来自Interface Builder 3.2.6(版权1999-2010)的文档: 在Cocoa

苹果在Interface Builder上的开发者文档中提到了应用程序占位符(在上图中突出显示),但没有解释其用途或使用时间。本文很好地解释了另外两个占位符文件的所有者和第一响应者

如果您能提供有关应用程序占位符的任何信息,以及我可能错过的任何文档的链接,我将不胜感激


此外,在Identity Inspector中,为什么应用程序占位符的类型为NSObject,而不是例如NSApplication?

来自Interface Builder 3.2.6(版权1999-2010)的文档:

在Cocoa nib文件中,应用程序占位符对象提供了将应用程序的共享
NSApplication
对象的出口连接到nib文件中的自定义对象的方法。默认应用程序对象的代理对象和应用程序中的应用程序菜单栏都有出口。如果定义了
NSApplication
的自定义子类,则可以连接子类中定义的任何其他出口和操作


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

,为了Willeke提到的绑定目的,您不是直接绑定到Interface Builder中的blue cube委托,还是绑定到代码中的
NSApp.delegate.someProperty
,在其他XIB中,情况并非如此。绑定的乐趣在于您不需要任何代码。在代码中设置绑定一点也不有趣。