Objective c 文件所有者和非应用程序,appdelegate
在apple文档中,它声明nsapplication是主nib的文件所有者。这是由模板设置的,还是必须以这种方式加载要加载的第一个nib 此外,我还通读了其他关于文件所有者的帖子,有些东西仍然让我感到困惑。如果Iboutlet是nibs文件所有者的属性,并且对象位于该nib中,那么Iboutlet只能指向对象吗?为什么nib除了需要知道对象之外还需要知道其所有者的类?知道或不知道这一点会启用或禁用什么 还有一点,appdelegate在这张图片中的位置是什么?你甚至可以更改应用程序代理吗Objective c 文件所有者和非应用程序,appdelegate,objective-c,xcode,Objective C,Xcode,在apple文档中,它声明nsapplication是主nib的文件所有者。这是由模板设置的,还是必须以这种方式加载要加载的第一个nib 此外,我还通读了其他关于文件所有者的帖子,有些东西仍然让我感到困惑。如果Iboutlet是nibs文件所有者的属性,并且对象位于该nib中,那么Iboutlet只能指向对象吗?为什么nib除了需要知道对象之外还需要知道其所有者的类?知道或不知道这一点会启用或禁用什么 还有一点,appdelegate在这张图片中的位置是什么?你甚至可以更改应用程序代理吗 谢谢:
谢谢:-)Xcode的应用程序模板设置了
main menu.xib
作为其所有者加载NSApp
。这是通过NSApplicationMain
功能完成的NSApplicationMain
在应用程序的Info.plist
文件中查找NSMainNibFile
键。如果找到该键,它将使用相应的值作为要加载的nib文件的名称。Xcode的应用程序模板将NSMainNibFile
设置为main菜单
不必那样做。您可以更改或删除Info.plist
中的NSMainNibFile
条目。您甚至不能使用NSApplicationMain
。相反,您可以自己初始化NSApp
(通过调用[NSApplication sharedApplication]
),然后通过编程或加载NIB创建用户界面,然后调用[NSApp run]
nib加载程序只能将出口连接到其加载的nib中的对象,或连接到文件的所有者、第一响应者或应用程序。门店本身不必是文件的所有者;它可以位于笔尖中的任何对象上
设置文件所有者的类时,Interface Builder会扫描源代码以查找该类的声明。这就是它知道文件所有者应该拥有哪些出口和操作的方式
应用程序委托通常是应用程序的顶级控制器。当发生各种应用程序级事件时,会通知它。看这张照片
在Xcode的应用程序模板中,应用程序委托是
main menu.xib
中的一个对象(nib中可以有非用户界面对象),它连接到文件所有者的委托
出口。您可以根据需要修改该类。甚至可以完全从nib中删除对象。但是任何严肃的应用程序都需要一个应用程序代理。Xcode的应用程序模板设置main menu.xib
以NSApp
作为其所有者加载。这是通过NSApplicationMain
功能完成的NSApplicationMain
在应用程序的Info.plist
文件中查找NSMainNibFile
键。如果找到该键,它将使用相应的值作为要加载的nib文件的名称。Xcode的应用程序模板将NSMainNibFile
设置为main菜单
不必那样做。您可以更改或删除Info.plist
中的NSMainNibFile
条目。您甚至不能使用NSApplicationMain
。相反,您可以自己初始化NSApp
(通过调用[NSApplication sharedApplication]
),然后通过编程或加载NIB创建用户界面,然后调用[NSApp run]
nib加载程序只能将出口连接到其加载的nib中的对象,或连接到文件的所有者、第一响应者或应用程序。门店本身不必是文件的所有者;它可以位于笔尖中的任何对象上
设置文件所有者的类时,Interface Builder会扫描源代码以查找该类的声明。这就是它知道文件所有者应该拥有哪些出口和操作的方式
应用程序委托通常是应用程序的顶级控制器。当发生各种应用程序级事件时,会通知它。看这张照片
在Xcode的应用程序模板中,应用程序委托是
main menu.xib
中的一个对象(nib中可以有非用户界面对象),它连接到文件所有者的委托
出口。您可以根据需要修改该类。甚至可以完全从nib中删除对象。但任何严肃的应用程序都需要一名应用程序代表。请查看此;特别是关于理解基本设计模式的部分。它解释了委托、视图控制器等方面的内容。我明白这一点,但我没有得到详细信息;特别是关于理解基本设计模式的部分。它解释了委托、视图控制器等方面的内容。我也这么理解,但我不了解详细信息谢谢你的帮助,我只是想确保我了解一些事情:nib中唯一可以访问的对象(连接到或从中连接)是该nib中的对象和代理对象?如果是这样的话,为什么会设置此限制?感谢您的帮助,我只想确保我了解一些事情:nib中唯一可以访问的对象(连接到或从中连接)是该nib中的对象和代理对象?如果是,为什么要设置此限制?