Objective-C----NSDictionary、NSMutableDictionary

知识点:

定义:字典(dictionary)是关键字及其定义的集合。

上代码:

/*
         *   NSDictionary  不可变字典
         *
         */

        // 1、创建字典对象的常用方法
        //在床架你字典对象时需要赋值键值对,但是顺序为:值,键(值在前,键在后的形式)。
        NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"wang", @"name", @33, @"age", @"man", @"gender", nil] ;
        NSLog( @"%@", dic1 ) ;

        NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhen", @"name", @22, @"age", @"nv", @"gender", nil] ;
        NSLog( @"%@", dic2 ) ;

        NSArray *keys = @[@"name", @"age", @"gender"] ;
        NSArray *values = @[@"wang", @33, @"male"] ;
        //创建字典对象时两个数组元素个数必须一致
        NSDictionary *dic3 = [[NSDictionary alloc] initWithObjects:values forKeys:keys] ;
        NSLog( @"%@", dic3 ) ;

        NSDictionary *dic4 = [NSDictionary dictionaryWithObjects:values forKeys:keys] ;
        NSLog( @"%@", dic4 ) ;

        //通过count方法获取字典中键值对的个数
        NSLog( @"%ld", [dic4 count] ) ;

        //获取字典中所有的键
        NSArray *allKeys = [dic4 allKeys] ;
        NSLog( @"%@", allKeys ) ;

        //获取字典中所有的值
        NSArray *allValues = [dic4 allValues] ;
        NSLog( @"%@", allValues ) ;

        //通过指定的键获取其在字典中对应的值
        id object = [dic4 objectForKey:@"age"] ;
        NSLog( @"%@", object ) ;
        for (int i = 0 ; i < [dic4 count]; i++ ) {
            id key = [allKeys objectAtIndex:i] ;
            id value = [dic4 objectForKey:key] ;
            NSLog( @"%@", value ) ;

            //[NSString class]返回 NSString 类型的对象
            //isKindOfClass判断value是否是NSString 类型的对象
            NSString *result = [value isKindOfClass:[NSString class]] ? @"YES" : @"NO" ;
            NSLog( @"%@:%@-->%@", key, value, result ) ;
        }

        //字典的语法糖形式(注意 ‘:’和‘,’是成对出现的)
        NSDictionary *dic5 = @{@"name": @"wang", @"age": @33, @"gender": @"man"} ;
        NSLog( @"%@", dic5 ) ;

        /*
         *  NSMutableDictionary  可变 字典
         *
         */

        //initWithDictionary 和 dictionaryWithDictionary 能将不可变字典变成可变字典
        NSMutableDictionary *dic6 = [[NSMutableDictionary alloc] initWithDictionary:dic5] ;
        NSLog( @"%@", dic6 ) ;

        NSMutableDictionary *dic7 = [NSMutableDictionary dictionaryWithDictionary:dic5] ;
        NSLog( @"%@", dic7 ) ;

        //两种初始化方式
        NSMutableDictionary *dic8 = [[NSMutableDictionary alloc] init] ;
        NSLog( @"%@", dic8 ) ;
        NSMutableDictionary *dic9 = [NSMutableDictionary dictionary] ;
        NSLog( @"%@", dic9 ) ;

        //增加 键值对
        [dic9 setObject:@"wang" forKey:@"name"] ;
        [dic9 setObject:@331 forKey:@"age"] ;
        [dic9 setObject:@"mam" forKey:@"gender"] ;
        NSLog( @"%@", dic9 ) ;

        //修改已有键对应的值(注意:键若已存在就修改对应的值,若不存在就添加此键值对)
        [dic9 setObject:@89 forKey:@"age"] ;
        NSLog( @"%@", dic9 ) ;

        //根据指定键去删除对应的键值对
        [dic9 removeObjectForKey:@"age"] ;
        NSLog( @"%@", dic9 ) ;

        //删除所有的键值对
        [dic9 removeAllObjects] ;
        NSLog( @"%@", dic9 ) ;
时间: 2024-10-10 03:22:53

Objective-C----NSDictionary、NSMutableDictionary的相关文章

IOS开发之旅-IOS常用数据结构NSArray、NSMutableArray、NSDictionary、NSMutableDictionary介绍

NSArray NSArray基本用法 void arrayTest1() { //数组初始化最后必须以nil结尾,表示数组元素结束 NSArray *array1 = [[NSArray alloc]initWithObjects:@"item0",@"item1",@"item2",@"item3",@"item4",nil]; NSLog(@"%@",array1); /*( it

NSArra、NSMutableArray和NSDictionary、NSMutableDictionary和NSSting、NSMutableString的应用与总结

***************************************************************************** NSArray *******************************************************************************/ /*---------------------------创建数组------------------------------*/ NSArray *array =

NSDictionary、NSMutableDictionary的基本用法

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NS

NSDictionary 、 NSMutableDictionary

1 重构学生与学校的练习 1.1 问题 本案例要求用字典解决下述问题.问题是:有一个学校,该学校有两个学院,每个学院中又有两个班级,而在每个班级中有两名学生. 现在作如下要求: 1)显示所有学生的信息. 2)只显示姓名为“zhangsan”的学生的信息. 3)只显示年龄为18岁的学生的信息. 4)如果每个学生有本书,显示所有学生的书的名称和价格. 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:定义类Book 首先,在Day04工程中新添加Book.h文件,用于定义新的类Book. 代码

OC中Foundation框架之NSDictionary、NSMutableDictionary

NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDictionary创建 1 +(instancetype) dictionary; 2 +(instancetype)dictionaryWithObject:(id) object forKey:(id<NSCopying>)key;//objectForKey,根据键取值 3 +(instance

IOS Intro - NSDictionary and NSMutableDictionary

NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:100]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dic

Objective-C数组 NSArray与NSMutableArray的区别 NSDictionary与 NSMutableDictionary 的区别 == int,NSInteger,NSUIn

Objective-C数组相关操作. // insert code here... NSLog(@"数组"); //指定多个字符串创建数组 NSArray *array; array=[NSArrayarrayWithObjects:@"0-asd",@"1-fds",@"2-哈咯",@"3-个人",nil]; //数组的长度 NSLog(@"数组长度%d",array.count);

【转】NSDictionary以及NSMutableDictionary的用法

原文网址:http://my.oschina.net/u/1245365/blog/177736 摘要 Foundation中的字典是由 键—值 对组成的数据集合.通过key(键),查找对应的value(值),key通常是字符串对象,也可以是其他任意的对象,但key的值必须是唯一的.此外,字典对象的key 和value的值不可以为空(nil),如果要表示一个空值,可以用NSNull对象 1.NSDictionary (不可变字典) 字典的初始化 //一个key - value NSDiction

OC第四节——NSDictionary和NSMutableDictionary

NSDictionary    1.什么是字典        字典是也是一种集合结构,功能与我们现实中的字典工具一样    2.字典的元素是什么        任意类型的对象地址构成键值对    3.什么是键值对        键值对是由key和value构成必须一一对应        键值对中的key必须保证是唯一的        4.字典的存储方式       字典是一种无序保存的集合    5.如何查找值        根据键值对中的key找到相应的值 ==================

IOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)

IOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 2)OC中的字典有两种 1.不可变字典:NSDictionary,初始化后不能修改其内容 2.可变字典:NSMutableDictionary,初始化后可以修改其内容 二.NSDictionary 字典的操作 1)实例化方法创建字典对象 例如: 1 NSDictionary *dict1=[[NSD