您的位置:首页 > 移动开发 > IOS开发

NSSet、NSMutableSet基本用法

2015-06-29 17:07 555 查看

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个。一.不可变集合NSSet1.NSSet的初始化创建一个集合NSSet *set1 = [[NSSet alloc] initWithObjects:@"one", @"two", nil];
通过数组的构建集合
NSArray *array = [NSArrayWithObjects:@"1", @"2", @"3", nil];
NSSet *set2 = [[NSSet alloc] initWithArray:array];通过已有集合构建集合NSSet *set3 = [[NSSet alloc] initWithSet:set2];2.NSSet常用方法集合中对象的个数int count = [set3 count];以数组的形式返回集合中所有的对象NSArray *allObjects = [set3 allObjects];返回集合中的任意一个对象id object = [set3 anyObject];判断两个集合的元素中有包含的对象,包含返回YES,否则为NOBOOL isContain = [set4 containsObject:@"2"];判断两个集合的元素是否有相等的对象,存在返回YES,否则为NOBOOL isIntersect = [set4 intersectsSet:set2];判断两个集合的元素是否完全匹配,匹配返回YES,否则为NOBOOL isEqual = [set4 isEqualToSet:set5];集合4是否是集合5的子集合,如果是返回YES,否则为NOBOOL isSubset = [set4 isSubsetOfSet:set5];创建一个新的集合2,集合2有两个对象NSSet *set1 = [NSSet setWithObjects:@"a",nil];NSSet *set2 = [set1 setByAddingObject:@"b"];通过已有的两个集合,创建新的一个集合NSSet *set7 = [NSSet setWithObjects:@"a",nil];NSSet *set8 = [NSSet setWithObjects:@"z",nil];NSSet *set9 = [set7 setByAddingObjectsFromSet:set8];通过已有的集合和数组对象,创建一个新的集合NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];NSSet *set10 = [NSSet setWithObjects:@"z",nil];NSSet *set11 = [set10 setByAddingObjectsFromArray:array];
二、可变集合NSMutableSet常用方法创建一个空的集合NSMutableSet *set1 = [NSMutableSet set];NSMutableSet *set2 = [NSMutableSet setWithObjects:@"1",@"2",nil];NSMutableSet *set3 = [NSMutableSet setWithObjects:@"a",@"2",nil];集合2减去集合3中的元素,集合2最后元素只有1个[set2 minusSet:set3];集合2与集合3中元素的交集,集合2最后元素只有1个[set2 intersectSet:set3];集合2与集合3中的元素的并集,集合2最后元素只有3个[set2 unionSet:set3];将空集合1设置为集合3中的内容[set1 setSet:set3];根据数组的内容删除集合中的对象[set2 addObjectsFromArray:array];[set2 removeObject:@"1"];[set]2 removeAllObjects];

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息