NSDictionary的初始化和一些常用的方法总结

NSDictionary

//初始化1。

NSDictionary *dic11=[[NSDictionary alloc] initWithObjects:@[@"qwe",@"asd",@"zxc",@"qaz",@"wsx"] forKeys:@[@"111",@"222",@"333",@"444",@"555"]];

//分别获取所有的键, 值

NSLog(@"%@",dic11.allKeys);

NSLog(@"%@",dic11.allValues);

//获取字典键值对总数

NSLog(@"%d",(dic11.count));

//字典遍历,快速枚举

for (id key in dic11) {

id value=[dic11 objectForKey:key];

NSLog(@"%@:%@",key,value);

}

//不可变字典一样可以字面常量初始化,key在前,value在后.

NSDictionary *[email protected]{@"keya":@"aaa",@"keyb":@111};

NSLog(@"%@",dic00);

//初始化的其他方法

//一个键值对字典的初始化

NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"10001" forKey:@"000"];

//内容与dic1一样的字典初始化

NSDictionary *dic0=[NSDictionary dictionaryWithDictionary:dic1];

//多个键值对字典的初始化1

NSDictionary *dic2=[NSDictionary dictionaryWithObjects:@[@"11",@"22",@"33",@"44"] forKeys:@[@"first",@"second",@"third",@"four"]];

//多个键值对字典的初始化2

NSDictionary *dic3=[NSDictionary dictionaryWithObjectsAndKeys:@"湘小几把一号是逗帝",@"逗帝",@"娘一号",@"逗圣",@"祥几把",@"逗战圣佛",nil];

NSLog(@"%@",dic3[@"逗帝"]);

//建立一个内容与dic2一样的可变字典

NSMutableDictionary *dic4=[NSMutableDictionary dictionaryWithDictionary:dic2];

//插入一个键值对,有同名的,则覆盖原来的值

[dic4 setObject:@"jjj" forKey:@"jiji"];

NSLog(@"%@",dic4);

//插入某一个键值对,有同名的,则覆盖原来的值

[dic4 setObject:@"999" forKeyedSubscript:@"lan"];

[dic4 setObject:@"004" forKeyedSubscript:@"four"];

NSLog(@"%@",dic4);

//将dic1拼接到dic前面

[dic4 addEntriesFromDictionary:dic1];

NSLog(@"%@------",dic4);

//移除某一个键值对

[dic4 removeObjectForKey:@"third"];

NSLog(@"%@",dic4);

//将数组里的key对应的键值对移除

[dic4 removeObjectsForKeys:@[@"five",@"000"]];

NSLog(@"%@",dic4);

//将dic4原来的内容全部都替换成dic11的内容

[dic4 setDictionary:dic11];

NSLog(@"%@",dic4);

//将字典的内容保存到指定路径的文件中

[dic4 writeToFile:@"/Users/apple/Desktop/dic4.plist" atomically:YES];

//从指定路径中读取文件内容

NSDictionary *dic5=[NSDictionary dictionaryWithContentsOfFile:@"/Users/apple/Desktop/dic4.plist"];

NSLog(@"%@",dic5);

//dict3和dict2的内容完全相同,实质上是一个新的对象.

//字典的一种从指定路径文件获取内容的初始化方法。文件必须存在,不然内容是空的。

NSDictionary *dic6=[[NSDictionary alloc] initWithContentsOfFile:@"/Users/apple/Desktop/dic4.plist"];

NSLog(@"%@",dic6);

//移除所有键值对。

[dic4 removeAllObjects];

NSLog(@"%@",dic4);

NSDictionary的初始化和一些常用的方法总结,布布扣,bubuko.com

时间: 2024-10-18 01:09:52

NSDictionary的初始化和一些常用的方法总结的相关文章

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

VC的常用调试方法

前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍. 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. 内存泄露查找 4. 调试Release版本 5. 远程调试 6. 函数断点 7. 数据断点. 8. 代码执行时间 9. 格式化数据 10. 格式化内存 Watch窗口查看伪变量 按MSDN的介绍,伪变量就是用来查看特定信息的术语.例如当调用的API失败时,可以用GetLastError获取对应的错

iOS 常用公共方法

iOS常用公共方法 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; if (error) { #ifdef DEBUG NSLog(@&quo

线程常用的方法

/* 线程常用的方法: Thread(String name) 初始化线程的名字 setName(String name) 设置线程对象名 getName() 返回线程的名字 sleep() 线程睡眠指定的毫秒数. 静态的方法, 那个线程执行了sleep方法代码那么就是那个线程睡眠. currentThread() 返回当前的线程对象,该方法是一个静态的方法, 注意: 那个线程执行了currentThread()代码就返回那个线程 的对象. getPriority() 返回当前线程对象的优先级

常用js方法整理common.js

项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, dataType: 'json', success: ok, error: error }); } h.post = function (url, data, ok, error) { $.ajax({ url: url, data: data, type: 'post', data

常用数组方法

js与jquery常用数组方法总结 昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害己,于是我又回答不知道.结果果然...我记错了0.0 还是自己总结测试一下比较靠谱,印象也比较深刻.欢迎大家提出相关意见或建议,提前谢谢哈~ 一.原生js方法 1.遍历数组 in(同时也是对象遍历属性的方法) var a = [1, 2, 3]; for (x i

iOS开发UIPickerView常用属性方法

// //  ViewController.m //  UIPickerViewAll #import "ViewController.h" @interface ViewController () @end @implementation ViewController /* UIPickView控件常用的方法和属性: (1)  - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; 返回Picke

js与jquery常用数组方法总结

转载:http://www.cnblogs.com/codetker/p/4676899.html 昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害己,于是我又回答不知道.结果果然...我记错了0.0 还是自己总结测试一下比较靠谱,印象也比较深刻.欢迎大家提出相关意见或建议,提前谢谢哈~ 一.原生js方法 1.遍历数组 in(同时也是对象遍历属性

面向对象中的常用魔术方法

__autoload($classname);这个魔术方法与其他魔术方法不同的是,它不是在类中使用的,其他都是在类内部使用,只要在页面中用到一个类,就会自动将这个类名传给这个函数的参数.在开发中用它来自动加载类. __sleep():是在对象序列化也叫串行化时,自动调用的方法,因为对象序列化的时候serialize($object),如果类里不加这个魔术方法,会自动将类中的所有属性全部序列化,如果只想让某些属性被序列化,就要用到这个方法,这个方法返回一个由类的属性组成的数组.序列哪个属性就将那个