1

ココアバインディングを使用する NSTableview があります。テーブルの並べ替えを無効にする必要があります。そのためには、stackoverflow で次のテキストを見つけました。

Cocoa バインディングを使用してデータを管理する場合、ソート記述子はテーブル列によって生成され、NSArrayController に設定されます。これを停止するには、テーブル列のバインドのインスペクターを開き、値を選択して、[ソート記述子を作成する] のチェックを外します。

これはうまく機能していますが、実行時に追加される列がいくつかあり、実行時にプログラムで同じことを行う必要があります。誰かが私を正しい方向に向けてもらえますか? 例やチュートリアルなど、実行時にこれを行うのに役立つものは何でも。基本的に必要なのは、実行時に作成された列の並べ替えを無効にすることだけです。

4

1 に答える 1

1

プログラムで arraycontroller にバインドを設定している場合は、そのように追加のバインド オプションを渡すことができるはずです。

    NSMutableDictionary *bindingOptions = [NSMutableDictionary dictionary];
    [bindingOptions setObject:[NSNumber numberWithBool:NO]
                       forKey:NSCreatesSortDescriptorBindingOption];
        [column bind:@"value" toObject:self.arrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@",c.key] options:bindingOptions];
于 2013-03-08T19:19:47.277 に答える