在swift中,为什么我必须使用IBaction或IBOutlet在代码和UI之间进行通信?

时间:2016-07-24 07:52:48

标签: ios swift user-interface uibutton uilabel

我是编程新手,我试图在Swift IOS中理解这个概念。 HAVING使用IBaction和IBoutlet将UIButtons和UILabels之类的东西连接到我的代码有什么好处?

为什么他们不让我们将UI对象设置为类似于button1或label1这样的名称,以便我们可以使用这些名称在我的代码中调用和改变它们?

2 个答案:

答案 0 :(得分:2)

它们只是Xcode用于链接代码和故事板/ XIB的标签。在功能上他们什么都不做。它们可以帮助您作为开发人员了解UI的可视化表示与驱动它的代码之间/不能/可以/不能连接。

答案 1 :(得分:2)

你没有。 IBAction和IBOutlet是在取消归档nib的XML字典时,使用Interface Builder(IB)创建的storyboard和xib文件链接到实现文件的方式。但是,完全允许在代码中创建包含布局的视图和控制器,甚至是团队中项目管理的通用模式。

就我个人而言,我确实喜欢使用Interface Builder来展示我的视图,它有助于减少我的控制器文件的大小,因为它允许我将我的布局和颜色设置放入Storyboards和xibs。但是,一些开发人员会认为这实际上是一个缺点,因为它从未经证实的人那里混淆了控制器的一些功能。在团队合作中避免使用Interface Builder有很强的论据,但它实际上归结为策略和偏好。