我有一个大的可变数组,按字母顺序有很多重复值。
我需要能够将我的数组* Array转换为一个新数组,其中包含每个字符串变体的一个条目。
我目前正在使用:
NSArray *array = [NSArray arrayWithObjects:papersObject.paperSubject, nil];
NSCountedSet *paperSet = [[NSCountedSet alloc] initWithArray:array];
NSMutableArray *namesArray = [[NSMutableArray alloc] initWithCapacity:[array count]];
[namesSet enumerateObjectsUsingBlock:^(id obj, BOOL *stop){
if ([paperSet countForObject:obj] == 1) {
[namesArray addObject:obj];
}
}];
NSLog(@"%@", namesArray);
但是这会返回一个相同数组的长列表,但仍然有重复数据。
有什么想法吗?
答案 0 :(得分:0)
怎么样:
NSArray *arrayWithNoDuplicates = [[NSSet setWithArray:papersObject.paperSubject] allObjects];
答案 1 :(得分:0)
一个。什么是namesSet? paperSet?
B中。但是:
NSOrderedSet *set = [NSOrderedSet orderedSetWithArray:array];
NSArray *arrayWithUniquesIsAnOrderedSet = set.array;
BTW:我强烈建议使用有序集而不是数组,因为具有唯一对象的数组是有序集。