我正在使用 NSOrderedSet 将数据存储在 Json 服务器中并以这种方式执行,因为数据到达时是重复的,我必须过滤它们以仅保留一个值。现在我需要在 NSOrderedSet 的开头添加一个值。我知道如何向 NSArray 添加值,但不知道如何将数据从 NSOrderedSet 传递到 NSArray。
这是我从服务器获得的示例:
{(
AMAZONAS,
AMAZONAS,
ANTIOQUIA,
ANTIOQUIA,
ARAUCA,
"AREA EN LITIGIO",
"AREA EN LITIGIO",
ATLANTICO,
)}
用NSOrderedSet对数据进行排序避免重复如下:
deptoArray=[NSOrderedSet orderedSetWithArray:[_data valueForKey:@"Nombre"]];
{(
AMAZONAS,
ANTIOQUIA,
ARAUCA,
"AREA EN LITIGIO",
ATLANTICO,
)}
但是现在我需要在开头添加一个数据,这样就如下:
{(
Seleccione,
AMAZONAS,
ANTIOQUIA,
ARAUCA,
"AREA EN LITIGIO",
ATLANTICO,
)}
最佳答案
标准的基础集合类都是不可变的。所以你需要创建一个可变版本的集合。要么将其创建为可变有序集
NSMutableOrderedSet *deptoArray = nil;
// ...
deptoArray= [NSMutableOrderedSet
orderedSetWithArray:[_data valueForKey:@"Nombre"]];
[deptoArray insertObject:@"Seleccione" atIndex:0];
或者创建有序集的可变副本(如果使用 ARC,则跳过 autorelease
)
NSMutableOrderedSet *mutableDeptoArray =
[[deptoArray mutableCopy] autorelease];
[mutableDeptoArray insertObject:@"Seleccione" atIndex:0];
关于ios - 如何向 NSOrderedSet 添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27530194/