我只为 1 列设置了一个大纲视图,其中大纲视图单元格具有基于单元格的架构。我以两种方式配置单元格:
- 在 Nib 文件中,通过将单元格的类类型设置为 MyCustom Cell。
- 通过代码,通过使用方法在委托类中设置单元格: - (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item
我在每个单元格上都设置了通知,当我从某个地方发布通知时,我希望单元格对通知采取相应的行动。在设置代码时,一切对我来说都是正确的,但是当我运行代码时,通知只会添加一行。应该为每一行添加它,因为我的大纲视图中有很多行。
这就是我在NSCell
子类中设置通知观察的方式:
- (id)init {
if ((self = [super init])) {
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MyNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textDidChange:) name:MyNotification object:nil];
}
return self;
}
- (void)textDidChange:(NSNotification*)aNotification {
NSDictionary *userInfo = [aNotification userInfo];
NSString *searchString = [userInfo objectForKey:@"searchText"];
if (searchString) {
// Do something here
}
}
我在其他班级发帖MyNotification
。
有人可以帮我解决我的实施中有什么问题吗?
在此先感谢 RKS