lijifeng

导航

黑马程序员——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)#>];

 

posted on 2015-03-23 18:20  lijifeng  阅读(211)  评论(0编辑  收藏  举报