扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用字典能有什么好处?
专注于为中小企业提供网站设计制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业措美免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。字典是个大容器,它能够储存多个数据
用字典存储的数据具有一一对应的关系(使用key来标识value)
字典中一对键值对(key-value)叫做字典中的一个元素,也叫一个条目,只要是对象就可以,不限制类型
字典是无序的
字典中的key是唯一的,一个key只能对应一个value,一个value可以对应多个key
创建字典对象:
1.便利构造器(+号方法):
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];
dictionaryWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志
2.初始化方法(-号方法):
nitWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];
initWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志
输出字典时用大括号括着元素显示,如: {
age = 12;
height = 20;
name = qinfen;
}
获取字典元素个数
count方法
NSLog(@"%lu", [dic1 count]);
获取所有的key
allkeys方法
NSArray *key = [dic allKeys]; NSLog(@"%@", key);
输出显示是每个key
根据key获取对应的value
objectForKey:方法
NSString *value = [dic objectForKey:@"name"]; NSLog(@"%@", value);
输出显示的是@"name" 这个key对应的值的内容
字典快速遍历:
快速遍历对于数组来说,遍历得到的是数组中的每一个元素
而对于字典来说,遍历字典得到的是每个key,不是value,也不是key和value,但然后可以通过key获取value
for (NSString *key in dic) { //检索到key之后,通过objectForKey:获取对应的value NSLog(@"%@", [dic objectForKey:key]); }
以上是字典中常用的方法
可变字典NSMutableDictionary
可变字典比字典多了增加,删除,修改的方法
创建可变字典对象
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang", @"guanggun1", @"xiaomeng", @"guanggun2", @"xiashuai", @"guanggun3", nil];
dictionaryWithObjectsAndKeys:方法
删除元素
[dic removeObjectForKey:@"guanggun1"];
removeObjectForKey:方法,通过查找key,将key和key所对应的value一起删除,即删除了一对键值对
添加元素
[dic setObject:@"chengjie" forKey:@"guanggun1"];
setObject: value元素 forKey: key元素 方法
修改元素
[dic setObject:@"xiaocui" forKey:@"guanggun1"]
setObject: value元素 forKey: key元素 方法 工作原理:
先根据指定的key查找字典中是否存在相同的key,(查找字典中的是否存在指定的key) 如果存在,则修改key对应的value,如果不存在,在字典中添加一个元素,key-value键值对
集合
创建集合对象
便利构造器
NSSet *set1 = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
setWithObjects:方法
初始化方法
NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"1", @"2", @"3", @"4", @"5", nil];
initWithObjects:方法
获取集合元素个数
count方法
NSLog(@"%lu", [set2 count]);
获取集合中的某个元素
NSString *str1 = [set2 anyObject];
anyObject方法
判断集合中是否包含某个元素
BOOL isExist = [set2 containsObject:@"3"];
containsObject:方法 参数为要查找得元素,返回值为布尔值
可变集合
添加元素
[set3 addObject:@"6"];
addObject:方法
移除元素
[set3 removeObject:@"5"];
removeObject:方法
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流