首页 > 其他 > 详细

Objective-C NSSet&NSMutableSet以及CountedSet

时间:2015-04-11 22:20:44      阅读:315      评论:0      收藏:0      [点我收藏+]

 

NSSet说实话,对这个类的应用,还不知道到底什么时候会用到,先过一遍脑子吧,以后有需要用到的时候,不至于陌生!

#import <Foundation/Foundation.h>

 

 int main(int argc, const char * argv[])

 

{

 

    @autoreleasepool {

 

        //创建4个NSNumber对象

 

        NSNumber *obj1 = [NSNumber numberWithInt:10];

 

        NSNumber *obj2 = [NSNumber numberWithInt:15];

 

        NSNumber *obj3 = [NSNumber numberWithFloat:10.5];

 

        NSNumber *obj4 = [NSNumber numberWithChar:‘b‘];

 

        //NSSet 初始化方法:initWithObjects:后面需要填写对象,每个对象用,号隔开,常用的有两个anyObject 和containsObject

 

        NSSet *aSet = [[NSSet alloc] initWithObjects:obj1,obj2,obj3,obj4,obj1, nil];//集合不允许重复,多的obj1写进入也不会存入的.

 

        //获取元素个数方法

 

        NSInteger count = [aSet count];

 

        NSLog(@"%ld",count);

 

        //获取对象方法

 

        NSLog(@"====获取对象方法====");

 

        NSArray *array = [aSet allObjects];

 

        NSLog(@"%@ %@",array,aSet);

 

        //obj4中的b不是直接打印b,而是打印数值的.

 

        //anyObject采用的是便利取值法

 

        NSLog(@"============");

 

        NSNumber *number = [aSet anyObject];

 

        NSLog(@"%@",number);

 

        //便利 所有的NSNumber的对象

 

        for (NSNumber *num in aSet) {

 

            NSLog(@"%@",num);

        }

 

        //判断集合中是否包含某个对象

 

        BOOL isContain = [aSet containsObject:@"aa"];

 

        if (isContain) {

 

            NSLog(@"包含");

 

        }else

 

        {

 

            NSLog(@"不包含");

 

        }

#pragma mark - NSMutableSet

 

        NSMutableSet *bSet = [[NSMutableSet alloc] initWithObjects:obj1,obj2, nil];

 

        //添加 方法

 

        [bSet addObject:obj3];

 

        [bSet addObject:obj4];

 

        [bSet addObject:[NSNumber numberWithInt:100]];

 

        NSLog(@"%@",bSet);

 

        //删除 某个

 

        [bSet removeObject:[NSNumber numberWithInt:100]];

 

        NSLog(@"%@",bSet);

 

        //删除 全部

 

        [bSet removeAllObjects];

 

        NSLog(@"都删除了 %@",bSet);

 

#pragma mark - NSCountedSet

 

        NSLog(@"======NSCountedSet=======");

 

        //NSCountedSet 子类是扩充原有类的方法之一

 

        NSCountedSet *cSet = [[NSCountedSet alloc] initWithObjects:obj1,obj1,obj1, nil];

 

        //获取个数 CountForObject

 

        NSInteger count1 = [cSet countForObject:obj1];

 

        NSLog(@"%ld",count1);

 

        //在NSSet方法中我们提到,重复添加的对象是不存储的,子类的NSCountedSet 是可以弥补NSSet的不足,可以记录对象重复出现的次数

 

    }

 

    return 0;

 

}

 

Objective-C NSSet&NSMutableSet以及CountedSet

原文:http://www.cnblogs.com/why2wm/p/4418398.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!