【问题标题】:In swift, why do I HAVE to use IBaction or IBOutlet to communicate between code and UI?快速,为什么我必须使用 IBaction 或 IBOutlet 在代码和 UI 之间进行通信?
【发布时间】:2016-07-24 07:52:47
【问题描述】:

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

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

【问题讨论】:

  • 基本上,它们只是名称。感谢 Obj-C 运行时,nib 加载机制可以根据插座名称设置您的 ivars。

标签: ios swift user-interface uibutton uilabel


【解决方案1】:

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

就我个人而言,我确实喜欢使用 Interface Builder 来布置我的视图的视觉方面,它有助于减少我的控制器文件的大小,因为它允许我将我的布局和颜色设置放入 Storyboard 和 xibs 中。但是,一些开发人员会争辩说这实际上是一个缺点,因为它混淆了控制器的某些功能,使初学者无法理解。在团队工作时避免使用 Interface Builder 的理由很充分,但归根结底是策略和偏好。

【讨论】:

    【解决方案2】:

    它们只是 Xcode 用来链接代码和故事板/XIB 的标签。从功能上讲,它们什么都不做。它们可以帮助您作为开发人员了解什么是/不是/可以/不能在您的 UI 的视觉表示和驱动它的代码之间建立联系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 2011-10-30
      • 1970-01-01
      相关资源
      最近更新 更多