ios - 如何向 NSOrderedSet 添加值

标签 ios objective-c nsarray nsorderedset

我正在使用 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/

相关文章:

ios - 在 Swift 中将 AVAudioPlayer 输出更改为扬声器?

iphone - 类似于 App Store 特色横幅的旋转横幅

iPhone SDK : accessing indexed color PNG images

ios - Swift 将不同类型组合成一个数组来为 UITableView 显示数据

ios - 将存储在 NSDictionary 中的 JSON 数据中的应用程序名称存储在 NSArray 中

ios - UIImagePickerController 预览图片下移

ios - 按 NSDate 作为内键对字典数组进行排序

iphone - UIAlertView 单击时崩溃 - 使用 ARC

objective-c - Objective-C 中 unsigned Short 的标记是什么?

iphone - 如何在 NSSet 或 NSArray 中搜索具有特定属性的特定值的对象?