【发布时间】:2010-01-18 22:14:48
【问题描述】:
在界面构建器中工作时,您可以使用不同类型的对象来布局界面,但我不清楚这些是对象实例还是某种工厂方法或类似的东西。基本上,如果您使用 Interface builder 来布局您的对象,尤其是使用 uiview 的子类,您如何在代码中引用特定的实例/对象?
【问题讨论】:
标签: objective-c xcode oop interface-builder
在界面构建器中工作时,您可以使用不同类型的对象来布局界面,但我不清楚这些是对象实例还是某种工厂方法或类似的东西。基本上,如果您使用 Interface builder 来布局您的对象,尤其是使用 uiview 的子类,您如何在代码中引用特定的实例/对象?
【问题讨论】:
标签: objective-c xcode oop interface-builder
当您通过 Interface Builder 放置任何对象(例如 UIButton)时,这些对象会在您放置该对象的 xib 文件被加载时被实例化。
您可以引用该对象,如果您将它挂钩到通过 Interface Builder 在头文件中定义的实例变量。
但是您需要定义要在 Interface Builder 中显示的实例变量,如下所示。
@interface FooObject : NSObject {
UIButton *button;
}
@property (nonatomic, retain) IBOutlet UIButton * button;
【讨论】:
您可以在 nib 中的对象之间绘制连接以使这些对象相互引用,您还可以从文件的所有者那里绘制连接(这将是 nib 加载之前的一些预先存在的对象,例如UIViewController)。通常,您需要对代码进行结构化,以便需要访问 nib 中事物的所有内容要么知道拥有对象,要么被拥有对象知道。
另一方面,不应该有太多外部对象需要了解您的 nib 中的特定元素,否则您可能会有过多的耦合。
【讨论】: