Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone arrray中的xcode重复_Iphone_Xcode_Arrays_Nsarray - Fatal编程技术网

Iphone arrray中的xcode重复

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

我有一个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 = [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!只要复制/粘贴代码,我们怎么知道?您没有向我们展示任何代码或告诉我们任何有助于我们评估问题的内容。