我有这样一个数组
NSArray *a = [NSArray arrayWithObjects:@"a", @"b", @"c", @"a", @"b", @"d", nil];
首先需要去掉重复的,活的这样的
NSArray *a = [NSArray arrayWithObjects:@"a", @"b", @"c", @"d", nil];
我现在做的就是用遍历生成的,有没有什么办法可以高效完成的。
另外的需求就是要生成这样的数组
NSArray *a = [NSArray arrayWithObjects:
[NSDictionary arrayWithObjectsAndKeys:@"2", @"a", nil],
[NSDictionary arrayWithObjectsAndKeys:@"2", @"b", nil],
[NSDictionary arrayWithObjectsAndKeys:@"1", @"c", nil],
[NSDictionary arrayWithObjectsAndKeys:@"1", @"d", nil],
nil];
键是唯一值,值是数量
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果结果的顺序无所谓,可以用Key Value Coding:
NSArray *result = [a valueForKeypath:@"@distinctUnionOfObjects.self"];
如果希望能保持原来的顺序,在iOS 5.0或OS X 10.7以上版本,可以用:
NSArray *orderedResult = [[NSOrderedSet orderedSetWithArray:a] array]
但这只是开发高效,运行效率不一定比自己实现的快。