如何从NSIndexset中获取索引到可可中的NSArray?

Mr_*_*zle 15 cocoa objective-c nsindexset

我从表格视图中获取选择项目:

NSIndexSet *selectedItems = [aTableView selectedRowIndexes];
Run Code Online (Sandbox Code Playgroud)

在NSArray对象中获取索引的最佳方法是什么?

Chu*_*uck 24

枚举集合,使NSNumbers从索引中删除,将NSNumbers添加到数组中.

你就是这样做的.不过,我不确定我是否认为将一组索引转换为效率较低的表示.

要枚举一个集合,您有两个选择.如果您的目标是OS X 10.6或iOS 4,则可以使用enumerateIndexesUsingBlock:.如果您的目标是早期版本,那么您必须先获得该版本,firstIndex然后继续询问indexGreaterThanIndex:之前的结果,直至获得NSNotFound.

  • 它位于以下文档中:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Articles/index.html%23//apple_ref/doc/uid/TP40010165-SW4 (5认同)

Luc*_*ier 12

NSIndexSet *selectedItems = [aTableView selectedRowIndexes];

NSMutableArray *selectedItemsArray=[NSMutableArray array];
    [selectedItems enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
        [selectedItemsArray addObject:[NSNumber numberWithInteger:idx]];
    }];
Run Code Online (Sandbox Code Playgroud)