1、NSSet的使用
[NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造
[NSSet setWithArray:(NSArray *)array];用数组构造
[NSSet setWithObjects:…]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志。
[set count] ; 得到这个结合对象的长度。
[set containsObject:…]: 判断这个集合中是否存在传入的对象,返回Bool值。
[set objectEnumerator]: 将集合放入迭代器。
[enumerator nextObject]:得到迭代器中的下一个节点数据,使用while遍历这个迭代器,方可遍历集合对象中的对象。
[set isEqualToSet:objset]:判断两个集合是否完全相等,返回Bool值。
[set isSubsetOfSet:objset]:判断集合中的所有数据是否都相等与objeset集合中,返回Bool值。
[set allObjects];
NSSet *set = [NSSet setWithObjects:@"25",@"age",@"张三",@"name",@"男",nil];
NSSet *set1 = [NSSet setWithObjects:@"25",@"age",@"张三",@"name",@"男",@"性别",nil];
NSLog(@"set count:%lu", \[set count\]);
//判断是否含有age字符串
if(\[set containsObject:@"age"\]) {
NSLog(@"set包含age");
}
//判断set 是否等于set1
if (\[set isEqualToSet:set1\]) {
NSLog(@"set 等于 set1");
}
//判断set是否是否是set1的子集合
if (\[set isSubsetOfSet:set1\]) {
NSLog(@"set isSubsetOfSet set1");
}
//获取所有set对象
NSArray \*array = \[set allObjects\];
NSLog(@"array:%@", array);
//迭代遍历
NSEnumerator \*enumerator = \[set objectEnumerator\];
for (NSObject \*object in enumerator) {
NSLog(@"set1里的对象:%@", object);
}
2、NSMutableSet的使用
NSMutableSet继承NSSet,它可以使用NSSet的方法。
[NSMutableSet setWithCapacity:6]:创建可变集合对象,并且初始化长度为6。
[set addObject: obj] : 向集合中动态的添加对象。
[set removeObject:obj]:删除集合中的一个对象。
[set removeAllObjects]:删除集合中的所有对象。
[set unionSet:obj]:向集合中添加一个obj集合的所有数据。
[set minusSet:obj]:向集合中删除一个obj集合的所有数据。
[set intersectSet]:向集合中删除一个不包含obj集合的所有数据。
NSMutableSet *muSet = [NSMutableSet setWithCapacity:6];
[muSet addObject:@"对象1"];
NSSet *set = [NSSet setWithObjects:@"对象2",@"对象3", @"被企鹅咬了一口", nil];
//添加set数据
[muSet unionSet:set];
for (NSObject *object in muSet) {
NSLog(@"all nuSet:%@",object);
}
NSSet *set1 = [NSSet setWithObjects:@"对象2",@"对象3", nil];
//在muSet中删除包含set1总数据
\[muSet minusSet:set1\];
for (NSObject \*object in muSet) {
NSLog(@"after minusSet:%@",object);
此类用到的比较少,但依然要了解下 !
手机扫一扫
移动阅读更方便
你可能感兴趣的文章