如何向 NSOrderedSet 添加值
Posted
技术标签:
【中文标题】如何向 NSOrderedSet 添加值【英文标题】:How to add a value to an NSOrderedSet 【发布时间】:2014-12-17 16:26:33 【问题描述】:我正在使用 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,
)
【问题讨论】:
【参考方案1】:标准的基础集合类都是不可变的。所以你需要创建一个可变版本的集合。将其创建为可变有序集
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];
【讨论】:
太好了,正是我需要的,非常感谢以上是关于如何向 NSOrderedSet 添加值的主要内容,如果未能解决你的问题,请参考以下文章
在CoreData的NSOrderedSet中的特定位置插入一个对象?
如何向 actions.order.create paypal 集成添加更多属性
使用 SwiftUI ForEach 从 NSOrderedSet 获取字符串值