1

我做,我想绑定/核心数据兼容和表示数据的集合(一拉NSTableView的)获得一个唯一的标识符NSArrayController的内容的每一个元素

自定义视图有什么办法我视图可以在用户改变之后引用集合中的特定子集(除了当前选择之外)?

上下文位:
该视图将在2D空间中显示多个用户可移动框。每个框对应于模型中的记录。几个可以一次移动,并且我不能依赖于每个框的增量值相同(因此不会为每个选定对象添加增量)。

我想我正在寻找类似于由NSArrayController分配给内容数组的每个元素的id,以便视图可以将该id与每个框相关联。我的第一个想法是使用内容数组中的索引,但这可能会被撤销/重做搞乱。我可以继承NSArrayController并让它为每个模型项自动生成一个id,但可可已经做了这样的事情吗?感觉像我可能会错过一些东西。

回答

0

为什么不只是指对象本身?您可以将它们保存在一个集合或一个数组中,以适合的为准。

如果你真的需要某种标识符:什么?你打算怎么处理它?

+0

谢谢。是的,作为我的问题的一般答案,你是对的。我发现我的情况出了什么问题,并在下面发布了详细信息。 – 2010-08-20 15:43:57

1

我应该提到,我最初试图将每个内容数组的元素保存在视图中(如Peter所建议的那样),但将它们作为键存储在字典中。

视图中的对象与字典中的键不匹配,所以我认为这意味着NSArrayController更改了它用来代表模型对象的代理对象。

但是,事实证明,NSDictionary复制它的键,所以它似乎不适用于您想要将对象的特定实例与另一个对象关联的情况。

NSMapTable是它更灵活的表亲,可以配置为不复制其密钥。

相关问题