アウトライン ビュー セル用のセル ベースのアーキテクチャを使用して、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