iOS--NSDictionary
2015-07-11 12:36
405 查看
1.NSDictionary(字典类)
/* .NSDictionary\NSMutableDictionary * 无序 * 快速创建(不可变):@{key1 : value1, key2 : value2} * 快速访问元素:字典名[key] */ #import <Foundation/Foundation.h> int main() { NSArray *persons = @[ @{@"name" : @"jack", @"qq" : @"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]}, @{@"name" : @"rose", @"qq" : @"767567"}, @{@"name" : @"jim", @"qq" : @"423423"}, @{@"name" : @"jake", @"qq" : @"123123213"} ]; // // NSDictionary *jim = persons[2]; // NSString *bookName = persons[0][@"books"][1]; NSLog(@"%@", bookName); //NSArray *array = persons[0][@"books"]; //NSLog(@"%@", array); // 先取出1位置对应的字典 // 再取出字典中qq这个key对应的数据 //NSLog(@"%@", persons[1][@"qq"]); // NSLog(@"%@", jim); return 0; } void use4() { // 字典不允许有相同的key,但允许有相同的value(Object) // 字典的无序的 NSDictionary *dict = @{ @"address" : @"北京", @"name" : @"jack", @"name2" : @"jack", @"name3" : @"jack", @"qq" : @"7657567765"}; // NSArray *keys = [dict allKeys]; // // for (int i = 0; i<dict.count; i++) // { // NSString *key = keys[i]; // NSString *object = dict[key]; // // // NSLog(@"%@ = %@", key, object); // } [dict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) { NSLog(@"%@ - %@", key, obj); // *stop = YES; }]; } void use3() { NSMutableDictionary *dict = @{@"name" : @"jack"}; [dict setObject:@"rose" forKey:@"name"]; } void use2() { NSMutableDictionary *dict = [NSMutableDictionary dictionary]; // 添加键值对 [dict setObject:@"jack" forKey:@"name"]; [dict setObject:@"北京" forKey:@"address"]; [dict setObject:@"rose" forKey:@"name"]; // 移除键值对 // [dict removeObjectForKey:<#(id)#>]; NSString *str = dict[@"name"]; //NSLog(@"%@", str); NSLog(@"%@", dict); //NSLog(@"%@", @[@"jack", @"rose"]); } void use() { /* 字典: key ----> value 索引 ----> 文字内容 里面存储的东西都是键值对 */ // NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"]; // NSArray *keys = @[@"name", @"address"]; // NSArray *objects = @[@"jack", @"北京"]; // NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; /* NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"jack", @"name", @"北京", @"address", @"32423434", @"qq", nil];*/ NSDictionary *dict = @{@"name" : @"jack", @"address" : @"北京"}; // id obj = [dict objectForKey:@"name"]; id obj = dict[@"name"]; NSLog(@"%@", obj); // 返回的是键值对的个数 NSLog(@"%ld", dict.count); }
相关文章推荐
- iOS字典转模型方法代理片段
- IOS WebView中JS和OC相互调用
- iOSpush过后返回多级界面
- IOS 给Button设置一个简单的动画
- iOS常见警告解决
- iOS 8 Xcode6 设置Launch Image 启动图片
- 关于友盟社会化分享框架的一些使用心得
- 分享一些ios干货
- IOS xib 和storyboard的区别
- IOS 多线程 RUNLOOP 机制 (二)
- IOS 多线程 RUNLOOP 机制 (一)
- iOS在当前视图中推出另外一个背景透明的视图控制器
- 修复iOS7下leftBarButtonItem位置相比之前版本靠右的问题
- ios崩溃日志1
- iOS基础(c)-内存管理
- iOS开发,#define的使用
- iOS 9公测开启 智能预测/省电模式亮相
- iOS常用的第三方库以及XCode插件集锦
- iOS基础(c)-结构体
- iOS 关于音频开发