zoukankan      html  css  js  c++  java
  • OC中的NSDictionary和NSMutableDictionary

    学习链接:https://www.cnblogs.com/-boy/archive/2004/01/13/4096453.html

    //
    //  learn_dic.m
    //  learn_KVC
    //
    //  Created by 蔡佳明 on 2020/10/15.
    //
    
    #import <Foundation/Foundation.h>
    int main()
    {
        //创建字典 必须初始化 并且创建之后不能再变了
        
        // 没初始化 没意义
        NSDictionary *dic=[NSDictionary dictionary];
        
        //创建只有一个键值对的字典
        NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"yaoming" forKey:@"ym"];
        
        //创建多个键值对字典
        NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"liuxiang",@"lx",@"jiaming",@"jm", nil];
        
        //快速创建方法
        NSDictionary *dic3=@{@"ym":@"yaoming",@"lx":@"liuxiang"};
        
        //字典访问
        
        //返回字典中键值个数
        NSUInteger len=dic3.count;
        NSLog(@"键值个数为:%lu",len);
        
        //根据键求值
        //方式1
        id str=[dic3 objectForKey:@"lx"];
        //方式2
        str=dic3[@"lx"];
        NSLog(@"str=%@",str);
        
        //字典的遍历
        //for循环
        id key=[dic3 allKeys];
        for(int i=0;i<dic3.count;i++)
        {
            str=dic3[key[i]];
            NSLog(@"%@:%@",key[i],str);
        }
        
        //for in遍历
        for(NSString *key in dic3)
        {
            str=dic3[key];
            NSLog(@"%@:%@",key,str);
        }
        
        //下面说一下可变的的字典
        //创建一个可变的空字典
        NSMutableDictionary *dicM = [NSMutableDictionary dictionary];
        [dicM setObject:@"zhangsan" forKey:@"zs"];
        [dicM setObject:@"lisi" forKey:@"ls"];
        
        
        for(NSString *key in dicM)
        {
            str=dicM[key];
            NSLog(@"%@:%@",key,str);
        }
        
        //删除指定的键值对
        [dicM removeObjectForKey:@"zs"];
        
        for(NSString *key in dicM)
        {
            str=dicM[key];
            NSLog(@"%@:%@",key,str);
        }
        //删除字典中所有的内容
        [dicM removeAllObjects];
        
        return 0;
    }
  • 相关阅读:
    刚才遇到了关于C#使用外部DLL函数上的char*的问题。
    重新整理过的 《C#编码规范》
    晕,完全晕了。
    Microsoft Visual Studio 2010 支持html5和css3的补丁包
    [mysql] 修改root密码和查看连接数
    Visual Studio统计有效代码行数
    [c#] 邮件附件为中文名的bug
    游戏名词解释
    [SVN] 以下后缀文件不应该提交入库
    [c#] 语言新特性
  • 原文地址:https://www.cnblogs.com/caijiaming/p/13822180.html
Copyright © 2011-2022 走看看