CSV ファイルから取得したエントリを入力したい 2 列の NSTableView があります。各表セルのタイトルが設定されていないことを除いて、すべて正常に機能します。
NSArray の各行に対して呼び出される関数は次のとおりです。
- (void)populateTable:(NSString *)fname :(NSString *)lname {
NSMutableDictionary *value = [[NSMutableDictionary alloc] init];
[value setObject:[NSString stringWithFormat:@"%@", fname] forKey:@"first_name"];
[value setObject:[NSString stringWithFormat:@"%@", lname] forKey:@"last_name"];
[arrayController addObject:value];
[value release];
[fname_list reloadData];
[lname_list reloadData];
}
「last name」列の値は、Array Controller ArrangeObjects.last_name にバインドされ、「 first_name」と「last_name」の両方が、Array Controller > Object Controller > Keysリストにキーとしてリストされます。
適切な数のテーブル セルが作成されます (CSV ファイル内の 3 つのエントリ = 各列に 3 行) が、各セルのタイトルが設定されていません (列に応じて「first_name」または「last_name」のいずれかに設定されます)。 ; セルのタイトルは「Table View Cell」のままです
編集:
navinsillu の変更を使用した後、次の関数になります。
- (void)populateTable:(id)sender :(NSString *)fname :(NSString *)lname {
[arrayController insert:sender];
[[[self arrayController] selection] setValue:fname forKeyPath:@"first_name"];
[[[self arrayController] selection] setValue:lname forKeyPath:@"last_name"];
[fname_list reloadData];
[lname_list reloadData];
}
そして、私のヘッダーには
@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;
しかし、それでも同じ結果が得られます。各テーブル列に3行/セルがあり、すべて「テーブルビューセル」というタイトルです
編集:
いくつかの検査の後、テーブル列Model Key Path
のバインドの下にValue
エントリがないことに気付きました。first_nameまたはlast_nameを入力すると、配列コントローラーのリストにキーがリストされていても、補完が見つかりませんと表示されます。Keys
残念ながら、キーが見つからない理由はわかりません。
編集:
奇数。テーブルビューとアレイコントローラーを削除して追加しようとしましたが、うまくいきませんでした。ただし、新しいプロジェクトを作成してまったく同じことを行うと、期待どおりの結果が得られます。