黑马程序员 - OC语言 - NSDictionary的介绍及使用

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

/*
 1、NSDictionary介绍
 1)什么是NSDictionary
 NSDictionary翻译过来叫做”字典”
 日常生活中, “字典”的作用:通过一个拼音或者汉字, 就能找到对应的详细解释 NSDictionary的作用类似:通过一个key(键),就能找到对应的value(值) NSDictionary是不可变的, 一旦初始化完毕,里面的内容就无法修改
 2)NSDictionary的创建
 + (instancetype)dictionary;
 + (instancetype)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key; // objectForKey,根据键取值。 + (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
 3)快速创建字典
 4)键值对集合的特点
 1. 字典存储的时候,必须是"键值对"的方式来存储(同时键不要重复) 2. 键值对中存储的数据是"无序的".
 3. 键值对集合可以根据键,快速获取数据.
 2、NSDictionary基本使用方法
 - (NSUInteger)count; //返回字典的键值对数目
 - (id)objectForKey:(id)aKey; //根据key取出value
*/


#import <Foundation/Foundation.h>

int main(int argc,const char * argv[]) {
    @autoreleasepool {
        //dictionary 是不可变 此处创建没有意义
        NSDictionary *d1 =[NSDictionarydictionary];
//        创建一个多组元素的dictionary
        NSDictionary *d2 =[NSDictionarydictionaryWithObjectsAndKeys:@"zs",@"zhangshan",@"ls",@"lishi"@"fj"@"fengjie",@"zbz",@"zhangbozhi"@"xtf"@"xietingfeng",nil];
//        简化创建dictionary
        NSDictionary *d3=@{@"zs":@"zhangsn",@"ls":@"lishi",@"zbz":@"zhangbozhi",@"xtf":@"xietingfeng",@"fj":@"fengjie"};
        
//        返回dictionary的Key值数目
        NSLog(@"d3.count = %lu",d3.count);
        
        //根据key取出value
       NSDictionary *s = [d3 objectForKey:@"fj"];
//        打印
        NSLog(@"s=%@",s);
        NSLog(@"d3 = %@",d3);
        
//        使用block遍历
        [d3 enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL *_Nonnull stop) {
            NSLog(@"key=%@,value=%@",key,obj);
        }];
        
        
//        使用for加强版遍历
        for (NSString *sin d3) {
            NSLog(@"key = %@,value = %@",s,[d3objectForKey:s]);
        }
    
    }
    return 0;
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值