Objective-C では、私のプログラムはウィンドウを開いてテーブルを表示します。テーブルの特定の行を強調表示したい。
どうすればいいですか?
コードが必要なようです
[myTableView selectRowIndexes:(NSIndexSet *) byExtendingSelection:(BOOL)];
開発者のドキュメントを見て、BOOL は NO であるべきだとわかりました。
NSIndexSet のドキュメントを見ると、正しい構文がどうあるべきかわかりません。
Objective-C では、私のプログラムはウィンドウを開いてテーブルを表示します。テーブルの特定の行を強調表示したい。
どうすればいいですか?
コードが必要なようです
[myTableView selectRowIndexes:(NSIndexSet *) byExtendingSelection:(BOOL)];
開発者のドキュメントを見て、BOOL は NO であるべきだとわかりました。
NSIndexSet のドキュメントを見ると、正しい構文がどうあるべきかわかりません。
それは適切な方法です:
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 3)];
NSMutableIndexSetまたは、ランダム インデックスにを使用できます。
NSMutableIndexSet *mutableIndexSet = [[NSMutableIndexSet alloc] init];
[mutableIndexSet addIndex:0];
[mutableIndexSet addIndex:2];
[mutableIndexSet addIndex:9];
等
Printing out an NSIndexSet in the debugger will show you that they are internally NSRanges. To create one, you can either specify the range or a single explicit index (from which it will create the range); something like
NSIndexSet *indexes = [[NSIndexSet alloc] initWithIndex:rowToHighlight];
[myTableView selectRowIndexes:indexes byExtendingSelection:NO];
[indexes release];
Note that the index(es) must all be unsigned integers (NSUIntegers, specifically).
メモリを管理する必要がないように、ファクトリ メソッドを使用します。
[myTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:indexes]
byExtendingSelection:NO];
コードが必要なようです
[myTableView selectRowIndexes:(NSIndexSet *) byExtendingSelection:(BOOL)];
いいえ; これらはキャストするものがないキャストであり、無効です。
キャストを削除し、代わりに値を入れてください。
BOOL私は開発者向けドキュメントを見て、NO.
はい、選択を拡張したくないので、置き換えたいと思います。
NSIndexSet のドキュメントを見ると、正しい構文がどうあるべきかわかりません。
他の変数またはメッセージ式を渡す場合と同じです。
インデックス セットを作成し、それを変数に格納してそれを渡すか、作成メッセージの結果を直接渡す必要があります。