何时使用 IBOutlet?

Posted

技术标签:

【中文标题】何时使用 IBOutlet?【英文标题】:when to use a IBOutlet? 【发布时间】:2010-07-08 01:40:32 【问题描述】:

我对 IBOutlet 有点困惑。当变量将在 nib 中更改时,我应该使用 IBOutlet 吗?

【问题讨论】:

【参考方案1】:

当您想对在 Interface Builder 中创建的视图执行某些操作时,可以使用 IBOutlet。例如,您在 Interface Builder 中放置了一个按钮,并且您想从您的代码中更改它的标题/标签,将 IBOutlet(具有诸如 button1 之类的名称)附加到该按钮。然后从您的代码中,您可以调用 [button1 dosomething]。如果没有 IBOutlet,您几乎无法对您在 Interface Builder 中创建的视图执行某些操作。简短的回答是肯定的,只要您想对在 Interface Builder 中创建的视图做某事,请始终使用 IBOutlet。

【讨论】:

其实可以遍历子视图或者通过整数标签访问视图。此外,委托协议中的方法通常将相关对象作为第一个参数。因此,插座并不是从视图控制器访问 UI 对象的唯一方法。【参考方案2】:

当您需要访问对象的属性时使用 IBOutlet。如果您需要 UITextField 的文本或想在代码中操作它,您可以使用 IBOutlet 文本字段。

但是,如果你有一个 UIButton,你不需要访问它的属性,你不需要 IBOutlet 它。您只需将 IBAction 连接到它。

(并不是说 UIButtons 不应该是 IBOutlet'ed,肯定有一些情况应该是,而 UITextFields 不应该是)

【讨论】:

【参考方案3】:

我是 ios 新手。我的理解是你需要一个标识符(你分配给你的按钮)来实际操作按钮事件。

例子:

您创建一个按钮 现在,如果您想使用代码访问该按钮,您需要指定一个名称。 指定名称后,您可以使用该名称说明符进行操作。 执行操作。

代码:

@property(nonatomic,strong) IBOutlet UIButton *bttn;

【讨论】:

以上是关于何时使用 IBOutlet?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 IBOutlet 子类化变量?

单元测试 IBOutlet 的属性

不使用 IBoutlet 获取 UItextfield 值

IBOutlet 和 IBAction

快速,为啥我必须使用 IBaction 或 IBOutlet 在代码和 UI 之间进行通信?

Swift、iboutlet 和自定义控件