//
// main.m
// NoteOc-04-字典
//
// Created by 刘佳斌 on 15/11/20.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
import <`int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
字典:
拼音偏旁 == key;
文字解释 == 值;
字典不是按顺序排放
key是一个关键字,通过关键字搜索到对应内容
NSDictionary:字典
字典里的内容是成对出现的(key -> 值)
key是关键字(字符串)
值 是object类型的数据
*/
//初始化字典并赋值
//(1)直接赋值 用花括号{}; key不可以一样(后一个会覆盖前一个),值可以一样(不过也就没有意义了);
//NSDictionary *dic = @{@"key":@"值",@"key1":@"值"};
//用字典把一个人物特征表示出来,name age face height sex weight
//nslog结果:用花括号引起来的,每一个元素后面都有一个分号,成对出现
/*
NSDictionary *people = @{@”name”:@”xiaoming”,@”age”:@”13”,@”face”:@”big”,@”height”:@”180”,@”sex”:@”man”,@”weight”:@”75”};
NSDictionary *people1 = @{@”name”:@”xiaohua”,@”age”:@”15”,@”face”:@”small”,@”height”:@”165”,@”sex”:@”woman”,@”weight”:@”55”};
NSLog(@"%@",people);
NSLog(@"%@",people1);
*/
//—————————————-
/*
字典取值
在同一个字典里面 key必须是唯一的,可以通过key取值
取值公式: 字典名[key];
NSDictionary *people = @{@"name":@"xiaoming",@"age":@"13",@"face":@"big",@"height":@"180",@"sex":@"man",@"weight":@"75"};
NSString *name = people[@"name"];
NSLog(@"%@",name);
*/
//—————————————-
/*
遍历字典
需要所有的key
allKeys 可以获得字典里面所有的key
allValues 可以获得字典里面所有的值
NSDictionary *people = @{@"name":@"xiaoming",@"age":@"13",@"face":@"big",@"height":@"180",@"sex":@"man",@"weight":@"75"};
NSArray *allKey = people.allKeys;
for (NSString *string in allKey) {
NSLog(@"%@",people[string]);
}
*/
/*
其他初始化
NSDictionary *peo = [NSDictionary dictionary];
NSDictionary *peo1 = [[NSDictionary alloc]init];
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"值" forKey:@"key"]; 初始化一个
NSDictionary *peo3 = [NSDictionary dictionaryWithObjectsAndKeys:@"值1",@"key1",@"值2",@"key2",nil];//这里先写值,在写key,且值key之间以,隔开 初始化多个
//通过方法去取值 objectForKey
NSString *value = [peo3 objectForKey:@"key"];
NSLog(@"%@",value);
*/
/*
NSDictionary *peo3 = [NSDictionary dictionaryWithObjectsAndKeys:@”xiaoming”,@”name1”,@”xiaohua”,@”name2”,nil];
NSArray *allKey = peo3.allKeys;
NSArray *allValue = peo3.allValues;
for ( NSString *key in allKey) {
NSLog(@"%@",key);
NSString *value = [peo3 objectForKey:key];
NSLog(@"%@",value);
}
*/
//—————————————-
/*
可变字典 NSMutableDictionary
增删改查
赋值方法除了不可以直接赋值之外,其他都可以
*/
//可变字典添加数据(object key) 使用setObject:内容 forKey:key; 如果添加相同的key,会覆盖key对应的原有的内容
/*
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:@”背着书包去上学” forKey:@”content”];
NSLog(@”%@”,dic);
NSLog(@”%@”,dic[@”title”]);
*/
//指定key 删除key对应的值
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:@"背着书包去上学" forKey:@"content"];
[dic setObject:@"背着书包" forKey:@"content1"];
//[dic removeObjectForKey:@"content"]; //删除一个,key对应的内容包括key都被删掉。
NSArray *keys = @[@"content",@"content1"];
[dic removeObjectsForKeys:keys]; //删除多个 removeObjectsForKeys 会移除数组里面所有key对应的值
// [dic removeObjectsForKeys:@[@"content",@"content1"]]; //也可以把key全写进去
NSLog(@"%@",dic);
//修改key对应的值 和添加元素一样,如果没有就是添加,如果有就是修改 setObject:值 forKey:key
[dic setObject:@"一个月" forKey:@"title"];
NSLog(@"%@",dic[@"title"]);
[dic setObject:@"两个月" forKey:@"title"];
NSLog(@"%@",dic[@"title"]);
/*
字典:key - 值(键值)对应存在的数据集合
取值:根据key来取值 key在字典里是唯一的
赋值和初始化:
1.直接赋值
NSDictionary *dic = @{@"":@"",@"":@""}; 花括号
直接取值
dic[@"key"];
[dic objectForKey:key]
2.初始化
alloc init
dictionary
dictionaryWithObject
dictionary */
/*
回顾:
一、字典:key - 值 对应存在的 数据集合
字典是根据 key 来取值
key 在字典里面 是唯一的
二、字典的赋值和初始化
1、直接赋值
NSDictionary *dic = @{@"key":@"值",@"key1":@"值"};
直接取值:dic[@"key"]
2、初始化
NSDictionary *dic = [[NSDictionary alloc]init];
NSDictionary *dic = [NSDictionary dictionary];
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"zhi" forKey:@"key"];
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhi",@"key", nil];
三、通过方法 取值:
[字典名 objectForKey:@"key"];
获得字典里面所有的值allValues
获得字典里面所有的键allKeys
四、可变字典:
可变字典的初始化 也不可以使用直接赋值@{};
不可变字典的初始化方法 可变字典都可以使用
1、添加一对元素
[字典名 setObject:zhi forKey:key];
2、删除元素
删除一个元素:[字典名 removeObjectForKey:@"key"];
删除多个元素:[字典名 removeObjectsForKeys:key的数组];
删除全部元素:[字典名 removeAllObjects];
3、替换 存在这个key就是替换
[字典名 setObject:zhi forKey:key];
4、查找
通过key查找
字典名[key];
[字典名 objectForKey:@"key"];
*/
/*
1、通过电脑序列号 可以找到 电脑使用的主人(只写你们组)
2、把名字和口头禅 关联 可以通过名字知道这个人的口头禅
3、取出数组里面 每一个人的名字 年龄
NSDictionary *user1 = @{@"name":@"哈利路亚.黄",@"age":@"200"};
NSDictionary *user2 = @{@"name":@"葫芦娃",@"age":@"71"};
NSDictionary *user3 = @{@"name":@"悟空",@"age":@"500"};
NSArray *list = @[user1,user2,user3];
4、知道你的名字 年龄 性别 得到你每一个兄弟姐妹的名字(3)
NSDictionary *wangzi = @{@"name":@"青蛙",@"age":@22,@"sex":@"男",@"bs":@[@"悟空",@"八戒",@"沙僧"]};
5、重写读取游戏数据 并赋值
*/
}
return 0;
}
`Foundation/Foundation.h>