2015年6月16日
个人总结:
注意:字典和数组都是id类型,如果有取值注意类型转换;
字典和数组的定义和赋值有很多相似的地方,可以一起记忆;如
数组
定义 NSArray *array = [[NSArray alloc] init];
定义 NSArray *array = [NSArray array];
定义并赋一个值 NSArray *array = [NSArray arrayWithObject:@“”];
定义并赋多个值
NSArray *array = [NSArray arrayWithObjects:@"",@"", nil];
一种新方法,既可以赋多个值也可以赋一个值
NSArray *array = @[@“",@""];
字典
注意:键和值要成对出现
定义NSDictionary *dictionary = [[NSDictionary alloc] init];
定义 NSDictionary *dictionary1 = [NSDictionary dictionary];
定义并赋一个键和值 NSDictionary *dictionary2 = [NSDictionary dictionaryWithObject:@"value" forKey:@“key”];
定义并赋多个键和值 NSDictionary *dictionary3 = [NSDictionary dictionaryWithObjectsAndKeys:@"object",@"key",@"object1",@"key1", @“object2",@"key2",nil];
新方法:NSDictionary *dic1 =
@{@"key1":@"object1",@"key2":@"object2",@"key3":@"object3",@"key4":@"object4"};
取值之间的区别
数组取值 是数组名跟数组下标,如:array[0];但是不能越界,即不能超过array.count;array.count为数组长度;
而字典取值则是用函数 objectForKey:@“键”;
也可以用 dictionary[@“键”];
还有一个区别是:打印输出的时候字典是{值;值1;值2;值3},数组是(值,值1,值2,值3)或[值,值1,值2,值3]
可变数组和可变字典
可变数组不能用新方法;即不能使用NSMutableArray *array = @[@“”,@""];
其他的都相同
拥有的方法:[array removeObjectAtIndex:70];移除array中下标为70个元素
[array removeObject:@“技能7"];//把数组array中的“技能7”移除
[group firstObject];//获得数组的第一个元素
[group lastObject];//获得数组的最后一个元素
[group replaceObjectAtIndex:3 withObject:@"fengshenghai666"];//替换第三个元素为fengshenghai666
可变字典 同样不能使用新方法 NSMutableDictionary *dic1 =
@{@"key1":@"object1",@"key2":@"object2",@"key3":@"object3",@"key4":@"object4"};
两个函数
[dictionary setObject:@"iphone " forKey:@“phone”];替换或添加
[dictionary removeObjectForKey:@"phone"];移除键值phone对应的内容