【问题标题】:How to refer to an object instance created/instantiated in interface builder?如何引用在界面构建器中创建/实例化的对象实例?
【发布时间】:2010-01-18 22:14:48
【问题描述】:

在界面构建器中工作时,您可以使用不同类型的对象来布局界面,但我不清楚这些是对象实例还是某种工厂方法或类似的东西。基本上,如果您使用 Interface builder 来布局您的对象,尤其是使用 uiview 的子类,您如何在代码中引用特定的实例/对象?

【问题讨论】:

    标签: objective-c xcode oop interface-builder


    【解决方案1】:

    当您通过 Interface Builder 放置任何对象(例如 UIButton)时,这些对象会在您放置该对象的 xib 文件被加载时被实例化。
    您可以引用该对象,如果您将它挂钩到通过 Interface Builder 在头文件中定义的实例变量。
    但是您需要定义要在 Interface Builder 中显示的实例变量,如下所示。

    @interface FooObject : NSObject {
        UIButton *button;
    }
    @property (nonatomic, retain) IBOutlet UIButton * button;
    

    【讨论】:

      【解决方案2】:

      您可以在 nib 中的对象之间绘制连接以使这些对象相互引用,您还可以从文件的所有者那里绘制连接(这将是 nib 加载之前的一些预先存在的对象,例如UIViewController)。通常,您需要对代码进行结构化,以便需要访问 nib 中事物的所有内容要么知道拥有对象,要么被拥有对象知道。

      另一方面,不应该有太多外部对象需要了解您的 nib 中的特定元素,否则您可能会有过多的耦合。

      【讨论】:

        猜你喜欢
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-23
        • 2016-05-23
        • 1970-01-01
        • 1970-01-01
        • 2018-08-15
        相关资源
        最近更新 更多