0

同じキー (key | value1 | value2 ) を dict1(key,value1) と dict2(key,value2) で共有する 2 つの NSMutableDictionaries によって入力された 3 列のテーブル ビューがあります。3 番目の列に手動でデータを入力し、dict2 にキー/値オブジェクトを作成したいと考えています。しかし、私がそうすると、私のコードは間違ったキーを選択します:S

デリゲートのコードは次のとおりです。

 - (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
if ([[aTableColumn identifier] isEqualToString:@"value2"])
   {   
    [dict2 setValue:anObject forKey:[[[aTableView tableColumnWithIdentifier:@"key"] dataCellForRow:rowIndex] stringValue ]];
   }    
}

何か案が ?

編集: 質問を完了したい: セルに表示されたデータを取得するにはどうすればよいですか? [dict allKeys] は、表示に使用されたものと同じ順序でキーを提供しないため、TableViews で NSMutableDictionnaries を使用する方法は他にありません。そして、[dict allKeys] のバージョンをストックすることは、冗長でばかげているように思えます。

4

1 に答える 1

0

あなたが使用しているこのデリゲート関数は、フォーマットデータソースを使用してテーブルビューにデータを表示するために使用されていると思います。取得ではなく、設定に使用されます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath を使用して、tableview のデータ ソースを設定できます。

于 2012-12-17T05:01:24.577 に答える