NoteOc-04-字典

//
// 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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值