Cocoa 绑定(bind)到数组中的单个对象

标签 cocoa cocoa-bindings key-value-observing nsarraycontroller key-value-coding

我之前发布了这个问题作为对相关线程的评论,认为它很简单。该线程在这里:

Cocoa binding to a particular item in an array controller

这些问题与我正在构建的一个游戏有关(我将在这里更全面地描述它),该游戏是为了尝试学习 Objective-C 和 cocoa 。可以将其想象为德州扑克。一台服务器保存游戏信息并管理来自可变数量客户端(总是不止一个)的输入。通过cocoa绑定(bind),它向每个玩家显示游戏的公共(public)信息,这些信息使用IB中的数组 Controller 存储在服务器上的数组中。想象一下 table 上的五张卡片存储在服务器上的 NSArray 中,并绑定(bind)到每个客户端的 NSArrayController 的内容字段。

这部分工作正常,就像一个魅力。然而,每个玩家都有两张需要保密的牌。每个客户应该根据发给特定玩家的牌显示不同的牌。 (因为真正发生的是我绑定(bind)到一个玩家对象数组

NSArray * thePlayers, 

想象一下所有卡片都存储在同一个数组中)。所以我的问题是,如何设置与数组 Controller 之外的单个对象的绑定(bind)(或者我是否需要其他 Controller )?也就是说,如何绑定(bind)到 thePlayers 数组中的一名玩家?'

最佳答案

您在 Controller 或模型中设置一个属性来访问该特定播放器并绑定(bind)到该播放器。无法直接绑定(bind)到数组中特定索引处的对象。

关于Cocoa 绑定(bind)到数组中的单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089929/

相关文章:

cocoa - 通过绑定(bind)分别在两个文本字段中显示 TableView 中两行的日期

ios - KVO 在 iOS 9.3 中损坏

objective-c - KVO for one-to-many but NSNull object passed into observeValueForKeyPath

cocoa - 是否可以使用 KVO 访问代理对象的先前/当前值?

macos - 阻止状态栏应用程序在 Dock 中显示图标

cocoa - 显示与 setNeedsDisplay

objective-c - Cocoa 在没有托管对象上下文的情况下无法执行操作

xcode - 每次调整大小后,基于自动布局的 cocoa 分割 View 会恢复到旧大小

swift - macOS:有没有办法在不崩溃的情况下访问窗口 Controller ?

macos - 是否有类似 Mac OS X 应用程序存储的数据库