2

ウィンドウに NSTableView と NSTokenField があります。次のデリゲート メソッドを実装しました。

tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:
tokenField:representedObjectForEditingString:
tokenField:displayStringForRepresentedObject:

行が選択されたときに、行オブジェクトの NSMutableSet に含まれるタグが NSTokenField に入力されるようにしたいと考えています。トークンが表すオブジェクトのコンテナー (したがって、トークンにする必要がある文字列) がある場合、NSTokenField にトークンを入力するにはどうすればよいですか?

4

1 に答える 1

4

私はそれを考え出した。以下のコードでは、msは私のオブジェクトを含むNSMutableSetです。

        //set the token field
        NSMutableArray *ma = [[NSMutableArray alloc] init];
        for (MyClass *anObject in ms){
            [ma addObject:anObject];
        }

        //sort the array
        NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey: @"title" ascending: YES];
        NSArray *sortDescriptorArray = [[NSArray alloc] initWithObjects:sorter, nil];

        [ma sortUsingDescriptors:sortDescriptorArray];
        [tokenField setObjectValue:ma];

キーは最後の行です:[tokenField setObjectValue:ma];

于 2009-05-12T09:50:29.987 に答える