黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary
(以下内容是对黑马苹果入学视频的个人知识点总结)
(一)NSArray
1>NSArray :不可变数组
①创建方法
1 NSArray *array = @[@"jack", @"rose"];
注意点:
OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
这个array永远是空数组
1 NSArray *array = [NSArray array];
结束的标记是nil
1 NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
元素访问
1 NSArray中元素的访问
2>NSMutableArray : 可变数组
①创建方法
1 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
②添加元素
1 [array addObject:[[Person alloc] init]]; 2 [array addObject:@"jack"];
③删除元素和指定对象
1 [array removeAllObjects]; 2 [array removeObject:@"jack"];
(二)NSSet
NSSet和NSArray的对比
1> 共同点
①都是集合,都能存放多个OC对象
②只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
③ 本身都不可变,都有一个可变的子类
2> 不同点
①NSArray有顺序,NSSet没有顺序
3>基本使用
1 NSSet *s = [NSSet set]; 2 3 NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
(三)NSDictionary
NSDictionary\NSMutableDictionary
①无序
②快速创建(不可变):@{key1 : value1, key2 : value2}
1 NSDictionary *dict = @{ 2 @"address" : @"北京", 3 @"name" : @"jack", 4 @"name2" : @"jack", 5 @"name3" : @"jack", 6 @"qq" : @"7657567765"};
③快速访问元素:字典名[key]
key ----> value
字典不允许有相同的key,但允许有相同的value(Object)
对与可变的NSMutableDictionary
添加键值对
1 [dict setObject:@"jack" forKey:@"name"];
移除键值对
1 [dict removeObjectForKey:<#(id)#>];