【发布时间】:2013-07-20 18:04:47
【问题描述】:
我在 xcode4 中工作,我对 viewcontroller 的 xib 文件做了很多工作,但我想将该视图链接到一组不同的 .h 和 .m 文件,所以我的问题是它是否可能更改将 xib 文件链接到其 .h 和 .m 的内容?
谢谢!
@interface TGTViewController : UIViewController{}
【问题讨论】:
标签: cocoa-touch xib
我在 xcode4 中工作,我对 viewcontroller 的 xib 文件做了很多工作,但我想将该视图链接到一组不同的 .h 和 .m 文件,所以我的问题是它是否可能更改将 xib 文件链接到其 .h 和 .m 的内容?
谢谢!
@interface TGTViewController : UIViewController{}
【问题讨论】:
标签: cocoa-touch xib
我的问题是是否可以更改将 xib 文件链接到其 .h 和 .m 的内容?
是的。
首先,要意识到 .xib 文件实际上只是序列化对象的存档,因此通常包含多个对象。
其次,要知道作为文件所有者的对象(通常是视图控制器)甚至不包含在 .xib 中——它是加载 .xib 的对象。
第三,您可以在 .xib 编辑器(也称为 Interface Builder)的身份检查器中查看(并更改)对象的类型。
因此,如果您想更改存储在 .xib 文件中的对象的类型,例如自定义视图,您只需选择 IB 中的对象,转到身份检查器,并更改类型。如果要更改加载 .xib 文件的对象的类型,例如视图控制器,请选择 .xib 中的 文件所有者 图标并更改类型。当然,您还需要更改用于在代码中创建对象的类型。
没有任何东西可以将 .xib 文件链接到 .m 或 .h 文件。如果 .xib 包含给定类型的对象,.xib 加载机制将期望找到该类型的类定义,如果找不到它会抛出异常,但它不关心源文件是什么命名。
【讨论】:
NSNib 手动加载或使用 .xib 文件初始化视图控制器等对象。