iOS NSDictionary 字典

  1. //创建字典
  2. NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
  3. NSLog(@"dic1 :%@", dic1);
  4. 对于不可变NSDictionary *dic1 =@{@"value":@"key",@"value1":@"key1"};
  5. //创建多个字典
  6. NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:
  7. @"value1", @"key1",
  8. @"value2", @"key2",
  9. @"value3", @"key3",
  10. @"value4", @"key4",
  11. nil];
  12. NSLog(@"dic2 :%@", dic2);
  13. //根据现有的字典创建字典
  14. NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2];
  15. NSLog(@"dic3 :%@", dic3);
  16. //根据key获取value
  17. NSLog(@"key3 value :%@", [dic3 objectForKey:@"key3"]);
  18. //获取字典数量
  19. NSLog(@"dic count :%d", dic3.count);
  20. //所有的键集合
  21. NSArray *keys = [dic3 allKeys];
  22. NSLog(@"keys :%@", keys);
  23. //所有值集合
  24. NSArray *values = [dic3 allValues];
  25. NSLog(@"values :%@", values);
  26. NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
  27. @"mvalue1", @"mkey1",
  28. @"mvalue2", @"mkey2", nil];
  29. //添加现有的字典数据
  30. [mutableDic addEntriesFromDictionary:dic3];
  31. NSLog(@"mutableDic :%@",mutableDic);
  32. //添加新的键值对象
  33. [mutableDic setValue:@"set1" forKey:@"setKey1"];
  34. NSLog(@"set value for key :%@",mutableDic);
  35. //以新的字典数据覆盖旧的字典数据
  36. [mutableDic setDictionary:dic2];
  37. NSLog(@" set dictionary :%@",mutableDic);
  38. //根据key删除value
  39. [mutableDic removeObjectForKey:@"key1"];
  40. NSLog(@"removeForkey :%@",mutableDic);
  41. //快速遍历
  42. for(id key in mutableDic) {
  43. NSLog(@"key :%@  value :%@", key, [mutableDic objectForKey:key]);
  44. }
  45. //枚举遍历
  46. NSEnumerator *enumerator = [mutableDic keyEnumerator];
  47. id key = [enumerator nextObject];
  48. while (key) {
  49. NSLog(@"enumerator :%@", [mutableDic objectForKey:key]);
  50. key = [enumerator nextObject];
  51. }
  52. //根据key数组删除元素
  53. [mutableDic removeObjectsForKeys:keys];
  54. NSLog(@"removeObjectsForKeys :%@",mutableDic);
  55. [mutableDic removeAllObjects];
  56. //删除所有元素
  57. NSLog(@"remove all :%@", mutableDic);
  58. }
  59. return 0;
  60. }
时间: 2024-11-12 12:03:49

iOS NSDictionary 字典的相关文章

ios model字典 NSArray NSDictionary小结

ios model字典 #import <Foundation/Foundation.h> @interface AdObject : NSObject /// 广告ID @property (strong,nonatomic) NSString *adID; /// 广告图片的地址 @property (strong,nonatomic) NSString *imagePath; /// 广告标题 @property (strong,nonatomic) NSString *adTitle;

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

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

iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转

1. 字典转Json字符串 + (NSString*)convertToJSONData:(id)infoDict { NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:infoDict options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated stri

IOS中将字典转成模型对象

作为IOS开发初级者今天学习了 如何将plist数据字典转成 数据对象数组中 .有点像C#中解析xml数据 的过程. apps.plist的xml数据是这样的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList

解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题

简单定义一个字典,输出结果: NSDictionary *dic = @{ @"我是中文字符": @"223333", @"aaa": @{ @"aaa": @"啦啦啦" } }; NSLog(@"%@", dic); 将会看到这样的"乱码",这种现象经常在调试服务端返回 JSON 结果的时候遇到: 2015-02-25 19:23:40.346 XXXX[13273

iOS 判断字典是否包含特定Key值

当面向字典开发或服务器返回的数据为字典时,应当判断字典内是否有对应的key值,从而避免返回key值为空而导致程序奔溃: NSDictionary *dict = self.datas[indexPath.row]; if([[dict allKeys] containsObject:@"key"]) { cell.textLabel.text = [dict valueForKey:@"ke y"]; } else { cell.textLabel.text = @

ios数组字典混合运用

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //数组 NSArray *arr=@[@"1",@"2",@"3",@"4"]; //数组中有数组 NSArray *arr2=[NSMutableArray arrayWithArray:@[ @[@"A1&quo

iOS遍历字典

字典NSDictionary一般的遍历方法都是: 先把字典所有值放入数组中 NSArray *arrayList = [cityListDic allValues];    for (NSDictionary *dic in arrayList) {//        NSLog(@"%@",dic);        NSLog(@"%@",[dic objectForKey:@"citynm"]);    } NSArray* arr = [y

6.ios之字典与模型

1.用模型取代字典的好处 ?使用字典的坏处 ?一般情况下,设置数据和取出数据都使用"字符串类型的key",编写这些key时,编译器不会有任何友善提示,需要手敲 dict[@"name"] =@"Jack"; NSString*name = dict[@"name"]; ?手敲字符串key,key容易写错 ?Key如果写错了,编译器不会有任何警告和报错,造成设错数据或者取错数据 ? ?使用模型的好处 ?所谓模型,其实就是数据模型