相关疑难解决方法(0)

使用NSArray观察关键值

我已经在SO上查看了使用键值观察的示例NSArray(或者NSMutableArray),显然你需要使用NSArrayController(不像KVO我不熟悉的),但我没有找到如何执行此操作的具体示例.有人可以解释一些示例代码吗?

例如,如果我有一个GameModel代表其播放器名称NSArray (playerNameArray)的a NSStrings.我想观察那些字符串(视图控制器观察模型的数据)来更新视图中的各种内容.

如何获得播放器名称数组已更改的通知?

编辑:iOS SDK甚至支持NSArrayController吗?如果没有,还有另一种方式吗?

iphone objective-c key-value-observing nsarray nsarraycontroller

21
推荐指数
1
解决办法
1万
查看次数

键值 - 观察Cocoa中的to-many关系

我正在尝试使用键值观察来为NSMutableArray工作.下面是MyObservee的.h文件,观察到的类:

@interface MyObservee : NSObject {
    @private int someValue;
    @private NSMutableArray *someArray;
}

@property (readwrite,assign) int someValue;
- (NSMutableArray *)someArray;
@end
Run Code Online (Sandbox Code Playgroud)

MyObserver类实现observeValueForKeyPath:ofObject:change:context:.这是我添加观察者的方式:

MyObservee *moe = [[MyObservee alloc] init];
MyObserver *mobs = [[MyObserver alloc] init];

[moe addObserver:mobs 
      forKeyPath:@"someArray" 
         options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) 
         context:NULL];

[moe.someArray addObject:@"hi there"];
Run Code Online (Sandbox Code Playgroud)

为什么addObject:message不会作为someArray键路径的更改而触发?我觉得这里有一些我不完全理解的东西.

cocoa key-value-observing key-value-coding

8
推荐指数
1
解决办法
1万
查看次数