Object-c------NSDictionary的简单介绍
2016-05-08 10:50
549 查看
main.m
// // main.m // NSDictionary // // Created by zhaogang on 16/5/8. // Copyright © 2016年 zhaogang. All rights reserved. // /* 集合 NSArray ArrayList NSSet HashSet NSDictionary Map 1. NSArray\NSMutableArray * 有序 * 快速创建(不可变): @[] * 快速访问元素: 数组名[] 2. NSSet\NSMutableSet *无序 3. NSDictionary\NSMutableDictionary * 无序 * 快速创建(不可变): @{key : value} * 快速访问: 字典名[key] */ #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSArray *person = @[ @{@"address" : @"beijing" , @"name" : @"jack", @"age" : @"22"}, @{@"address" : @"shanghai" , @"name" : @"rose", @"age" : @"21"}, @{@"address" : @"nanjing" , @"name" : @"mike", @"age" : @"23"}, @{@"address" : @"hongkong" , @"name" : @"hobe", @"age" : @"25"} ]; // NSDictionary *jack = person[0]; // NSLog(@"%@", jack); NSLog(@"%@", person[1][@"address"]); return 0; } void test3() { //字典不允许有想用的key,但允许有相同的value(object) NSDictionary *dict = @{@"address" : @"beijing" , @"name" : @"jack", @"age" : @"22"}; // NSArray *keys = [dict allKeys]; // for(int i = 0; i < dict.count; i++) // { // //[keys objectAtIndex:i]; // NSString *key = keys[i]; // NSString *object = dict[key]; // // NSLog(@"%@ - %@", key , object); // } [dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { NSLog(@"%@ - %@" , key , obj); //*stop = YES; }]; } void test2() { //错误 // NSMutableDictionary *dict = @{@"name" : @"jack"}; // // [dict setObject:@"rose" forKey:@"name"]; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; //添加键值对,没有顺序 [dict setObject:@"jack" forKey:@"name"]; [dict setObject:@"beijing" forKey:@"address"]; //这里会将上面的key的值覆盖 [dict setObject:@"rose" forKey:@"name"]; //移除键值对 //[dict removeObjectForKey:<#(nonnull id)#>]; NSString *str = dict[@"name"]; NSLog(@"%@",str); //NSLog(@"%@", @[@"jack", @"rose"]); NSLog(@"%@", dict); } void test() { /* 字典: key---->value 索引---->文字内容 里面存储的东西都是键值对 */ //NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"]; // NSArray *key = @[@"name", @"address"]; // NSArray *object = @[@"jack", @"beijing"]; // // NSDictionary *dict = [NSDictionary dictionaryWithObjects:object forKeys:key]; // NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: // @"jack",@"name", // @"beijing",@"address", // @"22",@"age",nil]; NSDictionary *dict = @{@"name" : @"jack" , @"address" : @"beijing" , @"age" : @"22"}; id obj = [dict objectForKey:@"age"]; NSLog(@"%@", obj); //返回键值队的个数 NSLog(@"%ld" , dict.count); }
相关文章推荐
- 函数对象(Function Object)作为类对象的排序准则
- objective c:循环引用
- OBJ-C NSString + NSRange + NSMutableString 学习笔记
- OBJ-C block + protocol 学习笔记
- OBJ-C ARC概念及原理+分类 学习笔记
- Objective-C中的数组和字符串
- objective c:import和include的区别, ""和<>区别
- 从头认识多线程-2.13 由同步的synchronized (newobject()) 引起的异步现象和脏读
- Object-c------NSSet的简单介绍
- Object-c------计算代码行数小demo
- Windows驱动开发(7) - DEVICE_OBJECT结构体
- iOS 杂笔-21(self.name = “object” 和 _name =”object” 有什么不同?)
- Objective-C:内存管理
- Object-c------NSArray的简单介绍
- Object-c------foudation中的NSString
- Object-c------foundation中的结构体(建议看这个)
- java.lang.NoClassDefFoundError: org/objectweb/asm/Type
- Objective C中数组排序几种情况的总结
- IOS开发系列--Objective-C之协议、代码块、分类
- 上古时代 Objective-C 中哈希表的实现