//
// main.m
// NSDictionary
//
// #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { // 1.如何创建
NSDictionary *dict1 = [NSDictionary dictionaryWithObject:@"lnj" forKey:@"name"];
NSString *name1 = [dict1 objectForKey:@"name"];
NSLog(@"name = %@", name1); //lnj
NSLog(@"dict1 = %@", dict1); //dict1 = {name = lnj;} // 注意: key和value 是一一对应
NSDictionary *dict2 = [NSDictionary dictionaryWithObjects:@[@"lnj", @"", @"1.75"] forKeys:@[@"name", @"age", @"height"]];
NSLog(@"dict2 = %@", dict2); //{age = 30;height = "1.75";name = lnj;} NSLog(@"%@ %@ %@", [dict2 objectForKey:@"name"], [dict2 objectForKey:@"age"], [dict2 objectForKey:@"height"]); //NSDictionary *dict3 = @{key:value};
NSDictionary *dict4 = @{@"name": @"lnj"};
NSLog(@"%@", dict4[@"name"]); NSDictionary *dict5 = @{@"name":@"lnj", @"age":@"", @"height":@"1.75"};
NSLog(@"dict5 = %@", dict5);//{age = 30;height = "1.75";name = lnj;}
NSLog(@"%@ %@ %@", dict5[@"name"], dict5[@"age"], dict5[@"height"]); // 2.字典的遍历
NSDictionary *dict6 = @{@"name":@"lnj", @"age":@"", @"height":@"1.75"};
// 2.1如何获取字典中key和value的个数, 在字典中key称之为键, value称之为值
NSLog(@"count = %lu", [dict6 count]); for (int i = ; i < dict6.count; ++i) {
// 获取字典中所有的key
NSArray *keys = [dict6 allKeys];
// 取出当前位置对应的key
NSLog(@"%@", keys[i]);
NSString *key = keys[i];
NSString *value = dict6[key];
NSLog(@"key = %@, value = %@", key, value);
} // 如何通过forin遍历字典, 会将所有的key赋值给前面的obj
for (NSString *key in dict6) {
NSLog(@"%@", key);
NSString *value = dict6[key];
NSLog(@"key = %@, value = %@", key, value); } [dict6 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"key = %@, value = %@", key, obj);
}]; // 3.字典文件读写
NSDictionary *dict7 = @{@"name":@"lnj", @"age":@"", @"height":@"1.75"};
// XML 扩展名plist
[dict7 writeToFile:@"/Users/mctc/Desktop/a.plist" atomically:YES]; // 注意: 字典和数组不同, 字典中保存的数据是无序的
NSDictionary *newDict8 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/mctc/Desktop/a.plist"];
NSLog(@"%@", newDict8);// {age = 30;height = "1.75";name = lnj;} NSArray *arr9 = @[@, @, @, @];
[arr9 writeToFile:@"/Users/mctc/Desktop/a.plist" atomically:YES]; return ;
}

oc75--不可变字典NSDictionary的更多相关文章

  1. OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

    字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...

  2. NSDictionary字典创建,获取,遍历,可变字典的删除 - iOS

    字典是以键值对的形式来存储数据 key value 1 NSDictionary 字典 1.1 创建字典,不可变的 NSDictionary * dic = [NSDictionary diction ...

  3. 字典NSDictionary以及NSMutableDictionary的用法总结

    做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典 ...

  4. Foundation框架--字典( NSDictionary NSMutableDictionary )

    基础知识 1.字典不允许相同的key,但允许有相同的value. 2,字典是无序的,字典不能排序. 3.字典里的内容是成对存在的,不会出现单数. 4.快速创建的方式只适合不可变字典. 不可变字典 #i ...

  5. objective-c可变字典

     1 #pragma mark *****************************字典********************************  2 //        字典:通过ke ...

  6. iOS - 字典(NSDictionary)

    1. 字典类型的常用处理 //---------------不可变字典 //1.字典的创建 NSArray *array1 = [NSArray arrayWithObjects:@"zha ...

  7. OC基础 可变字典与不可变字典的使用

    OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...

  8. Objective-C 字典、可变字典

    字典相当于c++ stl中的map 字典NSDictionary #import <UIKit/UIKit.h> #import "AppDelegate.h" int ...

  9. iosOC不可变字典和可变字典

    //key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int  age ->@(age) //  [di ...

随机推荐

  1. vue城市三级联动组件 vue-area-linkage

    Install the pkg with npm: // v5之前的版本 npm i --save vue-area-linkage // v5及之后的版本 npm i --save vue-area ...

  2. 08Webpage Form

    Webpage Form 表单(form)在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含 ...

  3. 100 道 Linux 笔试题,能拿 80 分就算大神!

    本套笔试题共100题,每题1分,共100分.(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统C. 跟踪管理系统信息和错 ...

  4. BZOJ3124: [Sdoi2013]直径 (树形DP)

    题意:给一颗树 第一问求直径 第二问求有多少条边是所有直径都含有的 题解:求直径就不说了 解第二问需要自己摸索出一些性质 任意记录一条直径后 跑这条直径的每一个点  如果以这个点不经过直径能到达最远的 ...

  5. [USACO06JAN] 牛的舞会 The Cow Prom

    题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...

  6. STL二分查找函数的应用

    应用二分查找的条件必须是数组有序! 其中二分查找函数有三个binary_serch,upper_bound,lower_bound 测试数组 int n1[]={1,2,2,3,3,4,5}; int ...

  7. Linux 下 Bash 脚本对拍

    背会... #!/bin/bash i= while true ;do ./maker > data.in ./a <data.in> data.out ./b <data.i ...

  8. linux whereis-查找二进制程序、代码等相关文件路径

    推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且 ...

  9. PHP 结合前端 ajax 爬取网站信息后, 向指定用户发送指定短信;

    <?php /** * Description * @authors Your Name (you@example.org) * # 根据时时彩的最新一期的号码, 判断如果为首尾同号则发送短信 ...

  10. wannafly-day1 Problem A - Birthday

    思路:队友贪心WA了,然后就没有然后了,自己也是第一次接触最小费用流的题.借这个题来学习一下,利用Spfa每次来找到一个最短的路径同时保存路径,每一次寻找最短路径就将这条路的最小费用流给剪掉,然后继续 ...