Iphone arrray中的xcode重复
我有一个NSArray,里面有一些“towns”(从json数据库中获取这些towns),但是数组中有一些towns 2到3次,我必须删除这些towns 我怎样才能解决这个问题?在x代码中使用for循环或特殊函数Iphone arrray中的xcode重复,iphone,xcode,arrays,nsarray,Iphone,Xcode,Arrays,Nsarray,我有一个NSArray,里面有一些“towns”(从json数据库中获取这些towns),但是数组中有一些towns 2到3次,我必须删除这些towns 我怎样才能解决这个问题?在x代码中使用for循环或特殊函数 请帮忙 您可以将数组转换为只能保存唯一值的NSSet NSArray *array = ... // Your array of "towns" NSSet *set = [[NSSet alloc] initWithArray:array]; NSArray *unique = [s
请帮忙 您可以将数组转换为只能保存唯一值的NSSet
NSArray *array = ... // Your array of "towns"
NSSet *set = [[NSSet alloc] initWithArray:array];
NSArray *unique = [set allObjects];
如果您使用的是自定义数据类,请确保实现
isEqual:
,您可以在您的所有城镇中循环,并仅在其中不存在的情况下将其添加到“uniqueItems”中
//Towns is an array of strings in this case
NSMutableArray *uniqueItems = [NSMutableArray array];
for (NSString *town in towns)
if (![uniqueItems containsObject:town])
[uniqueItems addObject:town];
这是做这件事的程序
NSArray *to = // your towns;
NSSet *set = [[NSSet alloc]initWithArray:towns];
arryl = [set allObjects];
单线解决方案,您需要为非圆弧项目添加自动释放
NSArray *array = // your array
NSArray filteredArray = [[[NSOrderedSet alloc] initWithArray:array] array];
您可以为此使用
valueForKey
方法。
这意味着您可以创建一组阵列&然后根据密钥获得值
NSSet *uniqueStates = [NSSet setWithArray:[myArrayOfCustomObjects valueForKey:@"state"]];
有一个错误:“NSArray”没有可见的@interface声明选择器“allObjects”,因为您应该在NSSet对象上调用allObjects!只要复制/粘贴代码,我们怎么知道?您没有向我们展示任何代码或告诉我们任何有助于我们评估问题的内容。