Macos 强密钥由NSArrayController中的add:更改。为什么?

Macos 强密钥由NSArrayController中的add:更改。为什么?,macos,cocoa,key,automatic-ref-counting,nsarraycontroller,Macos,Cocoa,Key,Automatic Ref Counting,Nsarraycontroller,如果NSArrayController绑定到使用 @synthesize (strong) anArray; 使用add:或remove:绑定时会发生非常奇怪的事情。例如,我最终为anArray提供了一个不同的地址。我确信这与strong关键字有关。有人能解释一下为什么会发生这种情况吗?您是将NSArrayController绑定到NSArray还是NSMutableArrayNSArrayController如果您将其绑定到一个NSArray,则它将起作用,但由于数组是不可变的,因此每次添加

如果
NSArrayController
绑定到使用

@synthesize (strong) anArray;

使用
add:
remove:
绑定时会发生非常奇怪的事情。例如,我最终为anArray提供了一个不同的地址。我确信这与strong关键字有关。有人能解释一下为什么会发生这种情况吗?

您是将
NSArrayController
绑定到
NSArray
还是
NSMutableArray
NSArrayController
如果您将其绑定到一个
NSArray
,则它将起作用,但由于数组是不可变的,因此每次添加或删除对象时,数组控制器都会创建一个新数组。

请不要使用标签来回答与苹果自动引用计数相关的问题。我不知道,我道歉。看看你的链接,我知道为什么了。我承认,我对“arc”的粉丝数量感到惊喜:-这是有道理的,我会尽快再次检查。但我确实认为它可能是一个可变数组,因为
NSArray
在我的应用程序中根本没有意义!