ios-Foundation框架

1、NSSet的相关内容

a)  NSSet和数组一样是数据容器

b)  NSSet和数组的区别:

1) 数组是有序的 NSSet是无序的

2)数组可以容纳重复对象 NSSet不能


2、 创建方式:


1) 普通方法创建   NSSet *set1 = [[NSSet alloc] initWithObjects: ..., nil];
类方法创建   NSSet *set2 = [NSSet setWithObjects: ..., nil];

2)调用任意一个元素:[set anyObject];
点语法    set.anyObject;

a) 转成数组:NSArray * array = [set allObjects];

b) 判断是否存在某个元素:[set containsObject:id];

c) 可变集合--------->NSMutableSet *mySet = [NSMutableSet set];
添加元素:[mySet addObject: id];
添加数组:[mySet addObjectsFromArray: array];

d) 计数集合 (继承自NSMutableSet)
用法:NSUInteger counts = [countedSet countForObject:@"集合"];

                 e) 判断对象是否在NSSet中已经存在

                        BOOL isContain = [set containsObject:@"zh"];


3、NSDictionary的概念

a)  字典(NSDictionary)是由键—值对组成的数据容器, 通过键(key),访问对应值(value)

b)  字典中的元素是无序的

c)  字典中的key可以是任意类型,一般使用字符串作为一个元素的key。 


4、NSDictionary是不可变字典

1)  字典的创建 :

NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
NSNumber *number = [NSNumber numberWithInt:99];

//alloc创建字典
NSDictionary *dic = [[NSDictionary alloc]initWithObjectsAndKeys:array,@"names" ,number,@"score", nil]; 

//类方法创建

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys :

array,@"names",number,@"score"];

2.向字典中添加元素
NSNumber *number = [NSNumber numberWithInt:99];

NSString *user = @"myName";
[dic
setObject:number forKey:@"score"];
[dic
setObject:user forKey:@"name"]; 

3.删除元素
//根据key,移除元素
[dic removeObjectForKey:@"names"];
[dic removeAllObjects]; 

3) 字典也可以用简单语句创建

NSDictionary *dic = @{@"my":array , @"score":number};


5、NSMutableDictionary不可变字典

1)  NSMutableDictionary是可变字典,字典中存储的元素是可以修改的。  

2) NSMutableDictionary继承于NSDictionary

1.创建可变字典
NSArray *array = [NSArray arrayWithObjects:@"you",@"and",@"me", nil];

NSMutableDictionary *dic = [[NSMutableDictionary alloc]

                                     initWithObjectsAndKeys:array,@"names",

nil]; 

2.向字典中添加元素
NSNumber *number = [NSNumber numberWithInt:100];

NSString *user = @"zh";
[dic
setObject:number forKey:@"score"];
[dic
setObject:user forKey:@"name"]; 

3.删除元素
//根据key,移除元素
[dic removeObjectForKey:@"names"];
[dic removeAllObjects]; 


6、封装类

a) NSNumber类是用来封装基本数据类型的

b) NSValue可以封装任意类型值(结构体、指针,数组)

c) NSNull表示空类型



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值