数组与字典之间的调用笔记

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对应的内容

为了更好点交流和学习,请大家在参阅博客后,留下你的疑问和宝贵意见。谢谢!!!!
原文地址:https://www.cnblogs.com/fshmjl/p/4598495.html