1

アウトライン ビュー セル用のセル ベースのアーキテクチャを使用して、1 列のみにアウトライン ビューを設定しています。セルを次の 2 つの方法で構成しました。

  • Nib ファイルで、セルのクラス タイプを MyCustom Cell に設定します。
  • メソッドを使用してデリゲート クラスのセルを設定することにより、コード経由で: - (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item

各セルに通知を設定しており、どこかから通知を投稿すると、通知に応じてセルが動作するようにします。コードをセットアップしている間はすべて問題ないように見えますが、コードを実行すると、通知が 1 行だけ追加されます。私のアウトラインビューには多くの行があるため、行ごとに追加する必要があります。

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