objective-c - NSTextField 和 NSTextFieldCell 之间有什么区别,我要绑定(bind)到哪个?

标签 objective-c cocoa nstextfield nstextfieldcell

更一般地说,控制类和控制单元类之间有什么区别?按钮具有相同的层次结构,例如 - NSButton 和 NSButtonCell。

查看 NSTextField bindings 的文档和 NSTextFieldCell bindings ,它们都有相同的“值(value)”文档。为什么它们都有值(value)?一个可以没有另一个而存在并仍然显示值(value)吗?

An NSString or NSNumber that is displayed as the content of the NSTextField.

An NSString or NSNumber that is displayed as the content of the NSTextFieldCell.

因此,当我将文本字段或任何其他控件拖到我的 UI 中时,我如何确定要实际绑定(bind)到层次结构中的哪些对象?

IB 中有许多更复杂的控件,它们在文档大纲中创建了复杂的层次结构,而且尽管我搜索了很多,但我一直无法找到文档来解释我应该关注哪些对象并根据绑定(bind)和连接。

我会满足于 NSTextField/NSTextFieldCell 的答案,但我真的很想知道如何辨别构成控件的所有内容之间的差异以及我在开发应用程序时应该关注的内容。

最佳答案

绑定(bind)到 NSTextField。 NSCells 的存在是为了帮助在屏幕上绘制东西,但在很大程度上是过去的遗留物,因为给每样东西提供自己的 View 被认为是性能问题。 Apple 正在逐渐弃用它们。它们公开了许多相同的界面,但 NSTextfield 会在需要时将正确的信息正确地委托(delegate)给它的单元格。如果您打算覆盖其外观,您实际上只需要更改单元格。

关于objective-c - NSTextField 和 NSTextFieldCell 之间有什么区别,我要绑定(bind)到哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391387/

相关文章:

cocoa - 如何以视觉格式设置自动布局默认间距指标的优先级?

cocoa - NSarray 发布

macos - NSTableView 文本字段单元格不应在单击时进入编辑状态

ios - 使用 AVFoundation 对图像捕获进行模糊检测

ios - 从 Orientation 获取 SCNNode 的 "up"侧

ios - Xcode - 如何修复 'NSUnknownKeyException' ,原因 : … this class is not key value coding-compliant for the key X"error?

cocoa - 指定在外观上编辑 NSPopover 内的 NSTextField

cocoa - NSTextField 宽度和自动布局

ios - 如何在sqlite ios中插入包含“字符的字符串

ios - 如何使用 NSCache