gpt4 book ai didi

objective-c - 绑定(bind)到 NSComboBox

转载 作者:行者123 更新时间:2023-12-03 17:54:49 25 4
gpt4 key购买 nike

我对 Cocoa 非常陌生,我正在 Xcode 4.5 中开发一个普通的 Cocoa 桌面应用程序。我需要在 NSComboBox 中显示值,并且必须从 NSComboBox 检索,但限制是我不应该绑定(bind)到 IBOutlet

如果我们需要使用数组 Controller ,我们可以使用 NSArrayController,但不能使用 IBOutlet

有人会建议我如何在不使用 IBOutlet 的情况下执行此任务吗?

我不想使用 IBOutlet 因为:

  1. 它减少了代码:假设我们在 UI 中有 15 个文本字段,因此您需要有 15 个IBOutlet(如果您正在开发小型项目,您可以拥有它,但是当我们实现更大规模的项目时,您最终可能会创造大量IBOutlet 的数量,除了帮助访问之外什么也不做来自文本字段的值。

    如果您使用绑定(bind)而不是 IBOutlet,则处理 UI 很容易,让我们假设您有一个带有链接 arrayController 的表。当修改与数组 Controller 链接的数组时,更改将自动反射(reflect)在 tableView 中,您无需费心更新 tabelView,如果我们使用 IBOutlet ,我们必须刮掉头来更新内容。每当数据被修改时,我们都会在 tableView 中显示数据。

  2. 让开发人员的生活变得轻松:如果我们使用绑定(bind),绑定(bind)对象中发生的任何更改都会立即反射(reflect)在 UI 中,我们无需担心 UI 的更新。

  3. 易于理解的代码:如果我们不必要地使用 IBOutlet,我们最终会编写代码来处理 View 、更新 View 等,如果我们使用绑定(bind),它会自动更新。

据我所知。如果我们使用绑定(bind),这是一个很好的实践。

IBOutlet只是增加代码长度。

提前谢谢您...

最佳答案

绑定(bind)步骤:

  1. 绘制一个 NSComboBox 和一个将绑定(bind)到组合框的 NSTextField。

  2. 在组合框中添加 Interface Builder 中的项目。

  3. 选择组合框。按住 Ctrl 并拖动到 NStextField/label 并选择
    takeStringValueFrom

就是这样!!!

现在您可以构建并运行并检查组合框中的选择更改在文本字段中是否可见。

关于objective-c - 绑定(bind)到 NSComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15198331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com