![]() |
1
1
问题是您正在直接改变您的数组。实施 indexed accessor methods 打电话给他们。 kvo重写访问器方法(只要符合 certain formats )并张贴必要的通知。当您直接与数组交谈时,不会得到这个结果;除非您明确地告诉它,否则绑定到该属性的任何内容都不会知道您已经更改了该属性。当使用访问器方法时,kvo会告诉其他对象。
唯一不使用访问器方法(合成或其他)的时间是
一旦您使用自己的访问器方法来改变数组,从而获得免费的kvo通知,事情就可以正常工作了:
|
![]() |
2
1
我在这里可以看到两种可能性:
首先,您是否实例化
其次,是否在中声明MyViewArray为属性
除此之外,在我看来你已经做好了所有的装订工作。
更新:
用这个怎么样
|
![]() |
3
1
问题似乎是我一直在绑定我的视图
当绑定到
解决方案是改为绑定MyView的
虽然这似乎有效,但我不能100%确定是否正确绑定到
|
![]() |
4
1
首先,绑定到arrangedObjects没有错:例如,一个instableColumn的内容应该只绑定到arrangedObjects,其contentValues则绑定到arrangedObjects.someProperty。 常见的错误是将arrayController的内容视为arrayController的内容,但正如您所见,这将导致悲伤:arrayController是arrayController当前在其内容中安排对象的方式的表示,而不是内容本身。 也就是说,将数组绑定到ArrayController的方法是:
顺便问一下,您确定您的视图需要保存MyViewArray吗?这通常由控制器或模型对象负责。 现在可以通过调用addobject添加对象 在阵列控制器上 因为这是管制员的责任。
|
![]() |
otakon · AppleScriptObjC中每个表格行的删除按钮 8 年前 |
![]() |
Duncan C · 如何对Swift结构使用Cocoa绑定 10 年前 |
![]() |
RogerWilco77 · 通过表视图在核心数据实体中计算 11 年前 |
![]() |
Colas ma11hew28 · 将菜单项绑定到第一响应程序的属性 12 年前 |
![]() |
utahwithak · 具有核心数据的Cocoa绑定未更新所有列 12 年前 |