不幸的是,文件所有者的解释在Apple文档中非常简短.我知道它是一个代理对象.但关于"文件所有者"对象的真正意义何在?到底有什么好处呢?
Nib文件通常被称为"冻干"并准备运行,它们是使您的应用程序更加模块化的一种很好的方式,可以减少内存使用.Nib文件可以解冻,或在应用程序需要其中的对象时随时加载到内存中.
每当nib文件被解冻时,它需要一个指向解冻它的对象的指针.而该对象通常是文件的所有者.文件的所有者允许nib文件中的对象访问nib文件解冻之前存在的对象.在某种程度上,File的所有者充当新加载的对象和旧对象之间的桥梁.
如果您阅读并理解nib加载过程,则更容易理解文件所有者参考的含义.
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
Cocoa的框架代表您自动处理许多nib加载,其中一个Cocoa自带的内置类用作管理或"拥有"nib文件实例化对象的控制器类.当您手动加载自己的笔尖时,您可以选择将哪个类作为文件的所有者.
当您阅读有关nib加载过程的信息时,请注意许多加载方法中的"owner:"参数.正是这个对象将作为文件所有者连接到nib文件中的对象