OC 字典
/*
字典:key-值对应存在的数据集合
新华字典:1、可以通过拼音也可以通过偏旁可以查找到想找的文字解释
拼音、偏旁:key
想找的文字解释:Value(值)
字典不是按顺序排放的
key是一个关键字可以通过关键字搜索到对应的内容
NSDictionary:字典
字典里面的内容是成对出现的(key:值 )
key 是一个关键字(一个字符串)
值 只要是object类型的数据都可以
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//初始化字典并赋值
//(1)直接赋值
// 字典直接赋值用花括号@{}
//key不能一样
// NSDictionary *dic=@{@"key":@"值",@"key1":@"值1"};
//用字典把一个人物的特征表示出来,name,age,face,height,sex,weight
NSDictionary *dic1=@{@"name":@"张三",@"age":@18,@"face":@"beautiful",@"height":@180,@"sex":@"男",@"weight":@60,};
NSDictionary *dic2=@{@"name":@"张三",@"age":@18,@"face":@"beautiful",@"height":@165,@"sex":@"女",@"weight":@45,};
NSLog(@"%@%@",dic1,dic2);
//字典取值:在同一个字典里面key必须是唯一的
//可以通过key来取值
//取值公式:字典名[key];
NSString *name=dic1[@"name"];
NSLog(@"%@",name);
//遍历字典需要所有的key
//allKeys可以获得字典里面所有的key
//allValues可以获得字典里面所有的值
for (NSString *s in [dic1 allKeys]) {
NSLog(@"%@=%@",s,dic1[s]);
}
NSLog(@"%@",[dic1 allValues]);
//其他初始化方式
// NSDictionary *dic3=[NSDictionary dictionary];
// NSDictionary *dic=[[NSDictionary alloc]init];
//‼️值和key要成对出现 先写值,key 每对元素也是用,隔开
NSDictionary *dic4=[NSDictionary dictionaryWithObjectsAndKeys:@"zhi1",@"key1",@"zhi2",@"key", nil ];
//字典取值的方法objectForKey:
[dic4 objectForKey:@"key1"];
NSLog(@"%@",[dic4 objectForKey:@"key1"]);
for (NSString *s in [dic1 allKeys]) {
NSLog(@"%@=%@",s,[dic1 objectForKey:s]);
}
for (NSString *r in [dic2 allKeys]) {
NSLog(@"%@=%@",r,[dic1 objectForKey:r]);
}
//初始化并赋一个值的方法
// NSDictionary *dic5=[NSDictionary dictionaryWithObject:@"值" forKey:@"key"];
/*可变字典:NSMutableDictionary
也不可以直接赋值
增删改查
*/
//可变字典添加数据(Object key)
//[字典名 setObject:值 forKey:key];
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:@"内容:背着书包去上学" forKey:@"content"];
[dic setObject:@"标题:一天" forKey:@"title"];
//如果添加相同的key会覆盖这个key所对应的值
//删除 指定key删除key对应的值
// [dic removeObjectForKey:@"content"];
// removeObjectsForKeys:会移除数组里面所有key对应的值
[dic removeObjectsForKeys:@[@"content"]];
//改 修改key对应的值和添加元素一样 如果没有就是添加 如果有就是覆盖
[dic setObject:@"一个月" forKey:@"title"];
/*
字典打印出来的格式:用花括号引起来,每一个元素后面都有一个分号,都是成对出现
{
age = 18;
face = beautiful;
height = 180;
name = "\U5f20\U4e09";
sex = "\U7537";
weight = 60;}
*/
}
return 0;
}

4万+

被折叠的 条评论
为什么被折叠?



