1

我只为 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

4

0 回答 0