【黑马程序员】OC-Foundation框架—NSDictionary和NSMutableDictionary

原创 2015年11月18日 15:10:56

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


一、NSDictionary介绍


1)什么是NSDictionary

NSDictionary翻译过来叫做”字典”

日常生活中, “字典”的作用: 通过一个拼音或者汉字, 就能找到对应的详细解释

NSDictionary的作用类似: 通过一个key(键), 就能找到对应的value(值) NSDictionary是不可变的, 一旦初始化完毕, 里面的内容就无法修改


<span style="font-size:14px;">//
//  main.m
//  NSDictionary介绍
//
//  Created by Brisinga on 15/11/18.
//  Copyright © 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //创建空字典
        NSDictionary *d1 = [NSDictionary dictionary];
        //创建只有一组键值对的字典
        NSDictionary *d2 = [NSDictionary dictionaryWithObject:@"zhangsanfeng" forKey:@"jsf"];
        //创建多组键值对的字典
        NSDictionary *d3 = [NSDictionary dictionaryWithObjectsAndKeys:@"hufei",@"hf",@"leifeng",@"lf", nil];
        //打印字典
        NSLog(@"%@",d3);
        
        //快速创建一个字典
        NSDictionary *d4 = @{@"zs":@"zhangsan",@"ls":@"lisi"};
        NSLog(@"%@",d4);
        
        //打印字典长度
        NSLog(@"%ld",d4.count);
        
        //根据key值取出value值
        NSLog(@"%@",[d4 objectForKey:@"ls"]);
        NSLog(@"%@",d4[@"zs"]);
        
        //字典的遍历
        //方法一  //获取的是对应的key
        for (NSString *str in d4) {
            NSLog(@"%@",d4[str]);
        }
        //方法二
        [d4 enumerateKeysAndObjectsUsingBlock:^(id   key, id   obj, BOOL * _Nonnull stop) {
            NSLog(@"%@ = %@",key,obj);
        }];
        
    }
    return 0;
}
</span>

二、NSDictionary的简写以及文件操作

<span style="font-size:14px;">//
//  main.m
//  NSDictionary的简写以及文件操作
//
//  Created by Brisinga on 15/11/18.
//  Copyright © 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //简写创建dictionary
        NSDictionary *d = @{@"zbz":@"zhangbozhi",@"cgx":@"chenguanxi",@"hl":@"hello"};
        
        //简写形式获取key对应的value
        NSString *str = d[@"zbz"];
        NSLog(@"%@",str);
        
        //把字典保存到文件中
        [d writeToFile:@"/Users/Brisinga/Desktop/a.plist" atomically:YES];
        
        //从文件中读取字典
        NSDictionary *d2 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/Brisinga/Desktop/a.plist"];
        NSLog(@"%@",d2);
        
        //应用:
        //省市
        //辽宁   大连
        //       沈阳
        //河北    保定
        //       石家庄
        
        NSArray *arr1 = @[@"dalian",@"shenyang"];
        NSArray *arr2 = @[@"baoding",@"shijiazhuang"];
        NSDictionary *d3 = @{@"ln":arr1,@"hb":arr2};
        [d3 writeToFile:@"/Users/Brisinga/Desktop/a.plist" atomically:YES];
        //打印字典
        for (NSString *key in d3) {
            NSLog(@"%@",d3[key]);
        }
        //方法二
        [d3 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            for (NSString *str in obj) {
                NSLog(@"%@:%@",key,str);
            }
        }];
        //获取每一个数组
        arr1 = d3[@"ln"];
        NSLog(@"%@",arr1);
    }
    return 0;
}
</span>

三、NSMutableDictionary的介绍和使用


<span style="font-size:14px;">//
//  main.m
//  NSMutableDictionary的介绍和使用
//
//  Created by Brisinga on 15/11/18.
//  Copyright © 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //1)可变字典的创建
        NSMutableDictionary *d1 = [NSMutableDictionary dictionary];
        NSMutableDictionary *d2 = [NSMutableDictionary dictionaryWithCapacity:5];
        
        //2)可变字典添加键值对
        [d1 setObject:@"zhangbozhi" forKey:@"zbz"];
        [d1 setValue:@"liuneng" forKey:@"ln"];
        NSLog(@"%@",d1);
        //3)删除
        [d1 removeObjectForKey:@"zbz"];
        //4)修改
        [d1 setValue:@"zhang" forKey:@"zbz"];
        [d1 setObject:@"liaoning" forKey:@"ln"];
        d1[@"ln"] = @"llllnnn";
        NSLog(@"%@",d1);
        //5)查找
        NSArray *arr = [d1 allKeys];  //获取所有key
        if([arr containsObject:@"ln"]){
            NSLog(@"存在");
        }
    }
    return 0;
}</span>


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员—Foundation框架之NSDictionary与NSMutableDictionary

一、NSDictionary 1、关于NSDictionary 1)NSDictionary翻译过来叫做”字典” 2)日常生活中, “字典”的作用: 通过一个拼音或者汉字, 就能找到对应的详细解...

黑马程序员 OC语言 - 9 NSDictionary、NSMutableDictionary、NSNumber、NSDate、NSValue

若排版有错误,请查看http://pan.baidu.com/s/1dDnHmDz

【黑马程序员】OC-Foundation框架—NSArray和NSMutableArray

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、NSArray的介绍和基本使用 1)什么是NSArray? NSArray是OC中的数组类...

【黑马程序员】OC-Foundation框架—NSString和NSRange

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、NSString类介绍和基本使用 1、什么是NSString? 一个NSString对...

黑马程序员-OC-Foundation-NSDictionary

NSDictionary是什么? NSDictionary是Foundation框架里面NSObject的一个子类.是OC中集合的一种.里面存储的是键值对(value和key值都必须是对象).NSD...

黑马程序员--OC自学笔记---10Foundation、NSString、NSURL、NSRange、NSArray、NSMutableArray、NSDictionary

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.   Foundation框架简介: 1)   框架是由许多类、方法、函数、...

黑马程序员——OC基础---Foundation<NSArray补充,NSMultableArray,NSDictionary>

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——第一讲 NSArray 读写文件1 NSArray 数据写入到文件顾名思义:就是把NSArray中内容写入到...

黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue

——- android培训、java培训、期待与您交流! ———-—NSArrayNSArray:OC数组,它不能存放空值(nil或者0)只能存放OC对象、不能存放非OC对象类型,比如int、stru...

黑马程序员——Foundation框架入门:NSString,NSArray,NSDictionary和NSURL

NSStringNSString的常用方法 - (unichar)characterAtIndex:(NSUInteger)index; 获取字符串中指定下标的字符。可以使用该方法逐个输出字符串中的字...

【IOS 开发学习总结-OC-31】★★OC之foundation 框架——字典(NSDictionary 与 NSMutableDictionary)

NSDictionary用于保存具有映射关系的数据。NSDictionary集合保存了2组值——一组存 key, 一组存 value。 value与 key 都可以是任何引用类型的数据。Map ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)