0

这是一个关于 Cocoa NIB 文件的内部工作原理和它们的支持框架类的问题。

有关方便的示例,请查看 Apple 货币计算器教程:http: //developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html

如果您打开 MainMenu.nib 文件,您将看到一个表示“转换器控制器”的对象。

当应用程序运行时,ConverterController 类的实例由应用程序中的某些东西(NIB 中的某些东西,或支持 NIB 的框架)实例化。

(不要将此与另一个类 Converter 混淆,后者的实例由 ConverterController 中的代码创建。)

我的问题是,是什么创建了这个 ConverterController 实例?它是 NIB 中默认的 File's Owner 对象吗?无论对象创建实例,该对象使用的代码是什么?NIB 或框架中的某处必须有一些方法/功能说:

ConverterController *someVarName = [[ConverterController alloc] init];

我想查看该代码,即当前用于创建 ConverterController 实例的特定代码。

我不想知道如何为 ConverterController 实例创建替代品,或者通常如何手动实例化与 NIB 文件相关的类实例。

4

3 回答 3

2

笔尖是对象的档案。它们是在 Interface Builder 中创建的,当加载 nib 时,其中的对象将被取消归档并链接起来。

于 2010-02-04T20:56:16.983 回答
1

查看 Info.plist 文件。

其中一个部分用于主 Nib 文件名。这是应用程序启动时未归档的 nib。通常,这是 MainMenu.xib。

因为控制器对象在这个主 nib 文件中,所以它是在取消归档 nib 文件时创建的。

于 2010-02-23T09:14:16.180 回答
1

查看开发人员文档中的资源编程指南文档。关于 Nib 文件的部分是一个很好的概述,“内置对 Nib 文件的支持”小节解释了在许多情况下如何加载 nib 文件。

于 2010-02-23T09:03:30.547 回答