UITableView
( NSArray
of )から返された配列からインデックスのすべての要素をすばやく取得する方法はありますかNSIndexPaths
。
例えば:
[self.dataSourceArray selectItemsAt:[self.tableView indexPathsForSelectedItems]]
UITableView
( NSArray
of )から返された配列からインデックスのすべての要素をすばやく取得する方法はありますかNSIndexPaths
。
例えば:
[self.dataSourceArray selectItemsAt:[self.tableView indexPathsForSelectedItems]]
objectsAtIndexes:
NSArray のメソッドを使用します。
NSMutableIndexSet *mutableIndexSet = [[NSMutableIndexSet alloc] init];
// Add all indexes to NSMutableIndexSet
for (int i = 0; i < [self.tableView indexPathsForSelectedRows].count; i++) {
[mutableIndexSet addIndex: ((NSIndexPath *) [self.tableView indexPathsForSelectedRows][i]).row];
}
[self.dataSourceArray objectsAtIndexes:mutableIndexSet];
あなたが探している単語はラムダです
それには2つの方法があります
あなたはリンクでそれを探すことができます
Objective-C には C# のような List Lambda クエリがありますか?
このように見えるはずです
NSPredicate *p = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
for(NSIndexPath i in [self.tableView indexPathsForSelectedItems]){
if(i.row == evaluatedObject.row){
return YES;
}
}
return NO;
}];
NSArray *result = [self.dataSourceArray filteredArrayUsingPredicate:p];