gpt4 book ai didi

cocoa 键值绑定(bind): What are the explanations of the various options for Controller Key?

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

当我使用 Interface Builder 将控件绑定(bind)到 NSArrayController 时,绑定(bind)检查器中的“ Controller 键”字段下有多种选项。

我理解什么是“arrangedObjects”,我半理解什么是“选择”,但我很想看到对所有选项以及何时使用每个选项的非常好的解释。该列表包括:selectionIndexes、selectionIndex、selectedObject、sortDescriptors 等。我还没有找到这些选项的很好的解释。

我在使用绑定(bind)到目标 > 选择的按钮时遇到问题,因此我希望对这些 Controller 键有更深入的了解可以帮助我调试问题。

谢谢!!!

最佳答案

这些很难找到。各种 Cocoa 书籍,甚至 Apple 的文档似乎到处都引用了它们,但我还没有看到有人将它们的解释统一到一个位置。答案是,Apple 在每个 Controller 类的文档中定义了它们:

  • NSObjectController (doc)
  • NSArrayController (doc)
  • NSDictionaryController ( doc )
  • NSTreeController ( doc )
  • NSUserDefaultsController ( doc )

这些文档也很有用:

这些“ Controller ”对象的继承看起来像这样(这对于发现某些“ Controller 键”选项的来源很重要):

NSController -> NSObjectController
NSController -> NSObjectController -> NSArrayController
NSController -> NSObjectController -> NSArrayController -> NSDictionaryController
NSController -> NSObjectController -> NSTreeController
NSController -> NSUserDefaultsController

// Note: NSController is an abstract class (don't worry about it). It inherits from NSObject.

如果您发现特定类的文档中未定义 Controller 键,则它可能已在其父类(super class)中定义。以下是上述各项可用的所有 Controller 键(Xcode 3.2.1、Interface Builder 3.2.1):

// **NSObjectController**
canAdd
canRemove
isEditable
selectedObjects
selection


// **NSArrayController**
arrangedObjects
canAdd
canInsert
canRemove
canSelectNext
canSelectPrevious
filterPredicate
isEditable
selectedObjects
selection
selectionIndex
selectionIndexes
sortDescriptors


// **NSDictionaryController**
arrangedObjects
canAdd
canInsert
canRemove
canSelectNext
canSelectPrevious
filterPredicate
isEditable
selectedObjects
selection
selectionIndex
selectionIndexes
sortDescriptors


// **NSTreeController**
arrangedObjects
canAdd
canAddChild
canInsert
canInsertChild
canRemove
isEditable
selectedObjects
selectedNodes
selection
selectionIndexPath
selectionIndexPaths
sortDescriptors


// **NSUserDefaultsController**
hasUnappliedChanges
values

因此,在列表中找到您想要的 Controller 类,在文档中查找该 Controller 类,您就会找到它的定义。如果它不存在,则可能是在其父类(super class)(可能是 NSObjectController)的文档中定义的。

关于 cocoa 键值绑定(bind): What are the explanations of the various options for Controller Key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1774022/

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