我正在通过一个简单的 Objective-C/Cocoa 程序来尝试学习该语言,并且对我编写的代码如何将某些内容链接到界面构建器感到有些困惑。
例如,我有一个简单的 NSString:
@property (assign) NSString *letters;
在我的界面构建器中,我有一个文本字段,我使用文本字段的绑定将其连接到字母。
然而,这个例子也有这个:
@property (assign) IBOutlet NSArrayController *wordsController;
在视图中,我有一个不断变化并显示不同单词的表,这些单词存储在 NSMutableArray 中。我想我可以理解我只是无法将数组绑定到表,因为还有一些更复杂的情况。因此,在 Interface Builder 中,我创建了一个 Array Controller 并将其绑定到表。在 Array Controller 的绑定中,我将 Array Controller 绑定到单词数组。
我知道我要做的最后一件事是将数组控制器也绑定到我的 NSArrayController 对象。我不明白为什么我通过主控制器对象通过在此插座和 wordsController 之间建立连接来执行此操作。在 Array Controller 的绑定部分有一个灰色的选项 Content Object,上面写着“NSArrayController 将其视为其内容的 NSArrayController”。为什么我不在这里设置绑定?它作为一个出口有什么意义,为什么它与我的 NSString 字母不同?
谢谢