私はObjective cとCocoaの初心者です.NSTableView(Cell based NSTableView)を使用することにいくつか問題があります。私は2つの質問を持っていますセルの変更後にNSTableViewを更新します。
最初に、ユーザーがセルを変更した後にEnterキーを押すと、自動的にテーブルビューの一部のデータを更新します。私はNSDictionnaryとarraycontrollerを使用してtableViewを塗りつぶすため、データを更新する方法を知っていますが、ユーザーが特定の列のセルを変更した後でアクションを発生させる方法を理解できません。
私はこのコードを使用するテーブルビュー移入するには、次のように動作
//Code for inserting data into my tableview when the user enter the "i" key
-(void)keyDown:(NSEvent *)event
{
static int i = 1; // used as a counter
NSString * str = [NSString stringWithFormat:@"%i", i];
NSMutableString *str2 = [NSMutableString string];
[str2 appendString:@"Task "];
[str2 appendString:str];
if([event keyCode] == 0x22)
{
dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:false], @"check",str,@"numero",str2,@"designation",@"1",@"length",²"13/07/17",@"debpr",@"12/07/17",@"finpr",@"11/07/17",@"debpr1",@"12/07/17",@"finpr1",@"0",@"mgt", nil];
checkState = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:false],[NSNumber numberWithInteger:i], nil];
[_arrayController addObject:dict];
[check setTag:i];
}
nbrTasks = i;
i++;
}
を、私は私のテーブルビューのセルを変更することができますが、編集が行われているとき、私はアクションを発射することはできません。インターフェイスビルダーのセルビューを使用していくつかのアクションを挿入しようとしましたが、動作しませんでした。テーブルビューの値を変更しても何も変わりません。誰かがコード例を使って説明することはできますか?私はObjective CとCocoaでプログラミングするのが本当に新しいので、どうやってやるのか分かりません。
第2に、特定の行が選択されたときにラベルを変更したいと考えています。どうすればいいのですか?
私は自分のラインコードを投稿するのではなく、YouTubeのビデオに誘導するのは非常に馬鹿だと思っています。 –
テキストフィールドのアクションをテーブルビューのデリゲートに接続します。選択変更通知については 'NSTableViewDelegate'をチェックしてください。 – Willeke