Objective c NSArrayController正在观察其内容计数

Objective c NSArrayController正在观察其内容计数,objective-c,nsarray,key-value-observing,nsarraycontroller,Objective C,Nsarray,Key Value Observing,Nsarraycontroller,如何观察阵列控制器的计数 到目前为止,我所尝试的: //... self.array = [[NSMutableArray alloc] init]; self.arrayController = [[NSArrayController alloc] initWithContent:self.array]; [self.arrayController addObserver:self forKe

如何观察阵列控制器的计数

到目前为止,我所尝试的:

    //...
    self.array = [[NSMutableArray alloc] init];
    self.arrayController = [[NSArrayController alloc] initWithContent:self.array];

    [self.arrayController addObserver:self
                                  forKeyPath:@"arrangedObjects"
                                     options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
                                     context:@"self.array"];


    [self.array addObject:@"anoop"];
    [self.array addObject:@"amit"];


    NSLog(@"%ld", [self.arrayController.content count] );

}

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {

    if( object == self.arrayController) {
           ...
    }
}
我的实际要求是观察阵列计数,但由于阵列不符合KVO,所以我不能这样做。另外,我不想对数组进行子类化,只想向它添加一个数组属性,如其他答案所示。然后我想到了观察阵列控制器


非常感谢任何潜在客户。

为了观察
排列对象的计数,您必须在密钥路径中指定收集运算符。您要使用的是
@count

因此,与其使用:

arrangedObjects
你应该使用

arrangedObjects.@count