温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS开发OC基础:OC字典NSDictionary以及NSMutableDictionary基本方法的使用

发布时间:2020-05-23 13:19:31 来源:网络 阅读:2779 作者:winann 栏目:移动开发

因为OC中的字典比较简单,掌握基本的用法就可以实现大部分的开发,所以本文的NSDictionary和NSMutableDictionary的方法介绍篇幅很短,全部的源代码如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        //1.创建一个NSDictionary对象,用来存放name:zhangsan sex:girl age:23
        NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan", @"name", @"girl", @"sex", [NSNumber numberWithInteger:23], @"age", nil];
        NSLog(@"%@", dic1);
        
        //2.计算字典元素个数
        NSUInteger count = [dic1 count];
        NSLog(@"count = %lu", count);
        
        //3.获取字典的所有key
        NSArray *keys = [dic1 allKeys];
        NSLog(@"%@", keys);
        
        //4.获取所有的value
        NSArray *values = [dic1 allValues];
        NSLog(@"%@", values);
        
        //5.根据key获得对应的value
        NSNumber *age = [dic1 objectForKey:@"age"];
        NSLog(@"age = %@", age);
        NSString *name = [dic1 objectForKey:@"name"];
        NSLog(@"name : %@", name);
        
        //6.快速遍历(快速枚举)
        //对于字典快速遍历时,获取到的是key,然后获取到key之后通过objectForKey:获取key对应的value
        for (NSString *key in dic1) {
            NSLog(@"%@ = %@", key, [dic1 objectForKey:key]);
        }
        
        
        //可变字典:NSMutableDictionary
        //1.创建一个NSMutableDictionary对象,使用initWithObjectsAndKeys初始化方法
        NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"lisi", @"name", @"girl", @"sex", [NSNumber numberWithInteger:20], @"age", nil];
        
        //2.添加一个条目(字典里面添加元素)
        //给dic2添加score:90.5条目
        [dic2 setObject:[NSNumber numberWithFloat:90.5] forKey:@"score"];
        NSLog(@"%@", dic2);
        
        
        //setObject:forKey:当指定的key在字典中存在时,则修改key所对应的value,如果给定的key不是字典中的key,则向字典中添加一个条目:key以及key对应的value
        
        //3.修改条目
        //将dic2的年龄改为30.
        [dic2 setObject:[NSNumber numberWithInteger:30] forKey:@"age"];
        NSLog(@"%@", dic2);
        
        //4.删除条目
        //(1)将dic2的年龄移除掉
        [dic2 removeObjectForKey:@"age"];
        NSLog(@"dic2 : %@", dic2);
        
        //(2)删除dic2中的所有条目
        [dic2 removeAllObjects];
        NSLog(@"dic2 : %@", dic2);
        
        //将dic2的内容复制到dic3中
        NSMutableDictionary *dic3 = [[NSMutableDictionary alloc] init];
        [dic3 setDictionary:dic2];
        NSLog(@"dic3 : %@", dic3);
        
        //字典的特点
        //1.字典是一个无序的集合;
        //2.字典元素是通过一对键值对,也就是一个条目,一个key对应一个value,但是一个value可以对应多个key;
        //3.字典取元素,通过key来得到所对应的value;
    }
    return 0;
}



代码中的注释已经解释的很清楚了,可以根据自己的需要查找相应的方法,在下面一定要多练习。需要注意的是一个key只能对应一个value,而多个key可以对应一个value。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI