her*_*erd 29 cocoa foundation nsindexset
在Objective-C中,我的程序打开一个窗口并显示一个表.我希望突出显示表的指定行.
我该怎么做呢?
我似乎需要代码
[myTableView selectRowIndexes:(NSIndexSet *) byExtendingSelection:(BOOL)];
Run Code Online (Sandbox Code Playgroud)
我查看了开发人员文档,并发现BOOL应该是NO.
通过查看NSIndexSet文档,我无法弄清楚正确的语法应该是什么.
hol*_*lex 74
这将是正确的方式:
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 3)];
Run Code Online (Sandbox Code Playgroud)
或者您可以使用NSMutableIndexSet随机索引:
NSMutableIndexSet *mutableIndexSet = [[NSMutableIndexSet alloc] init];
[mutableIndexSet addIndex:0];
[mutableIndexSet addIndex:2];
[mutableIndexSet addIndex:9];
Run Code Online (Sandbox Code Playgroud)
等等
NSIndexSet在调试器中打印出来会告诉你它们是内部NSRange的.要创建一个,您可以指定范围或单个显式索引(从中创建范围); 就像是
NSIndexSet *indexes = [[NSIndexSet alloc] initWithIndex:rowToHighlight];
[myTableView selectRowIndexes:indexes byExtendingSelection:NO];
[indexes release];
Run Code Online (Sandbox Code Playgroud)
请注意,索引必须都是无符号整数(NSUIntegers具体而言).
| 归档时间: |
|
| 查看次数: |
44977 次 |
| 最近记录: |