【发布时间】:2015-07-03 10:54:54
【问题描述】:
NSArray A = @[[[@"id":@"3"]], [[@"id":@"4"]] ,[[@"id":@"c"]],[[@"id":@"f"]]];
NSArray idArray = @[@"c", @"3", @"4",@"f"];
只是我假设的一个例子。 如何使用 idArray 按其 id 对 A 进行排序?
也就是说,我希望 A 变成:
NSArray A= @[[[@"id":@"c"]], [[@"id":@"3"]] ,[[@"id":@"4"]],[[@"id":@"f"]]];
现在,我想请求一种算法来对数组 A 进行排序以获得所需的结果。
---我在谷歌搜索时得到答案:
NSArray *sorter = @[@"B", @"C", @"E"];
NSMutableArray *sortee = [@[
@[@"B", @"abc"],
@[@"E", @"pqr"],
@[@"C", @"xyz"]
] mutableCopy];
[sortee sortUsingComparator:^(id o1, id o2) {
NSString *s1 = [o1 objectAtIndex:0];
NSString *s2 = [o2 objectAtIndex:0];
NSInteger idx1 = [sorter indexOfObject:s1];
NSInteger idx2 = [sorter indexOfObject:s2];
return idx1 - idx2;
}];
【问题讨论】:
-
你到底想要什么?
-
我已经编辑了我的问题。愿你再次相见
-
请检查 Xcode 中的 NSArray 格式是否错误。以及为什么你不为此使用简单的 NSDictionary
-
这一切都没有意义。 “数组”应该是字典、深度数组封装、排序输出。请在提问时表现出一些努力。工作代码将是一个很好的起点。