• Objective--C的Foundation frame之NSMutableDictionary代码


     1 #import <Foundation/Foundation.h>
     2 
     3 int main(int argc, const char * argv[])
     4 {
     5     @autoreleasepool
     6     {
     7         /*
     8          字典:
     9          存储的内存不是连续的
    10          用key和value进行对应(键值)
    11          kvc 键值编码
    12          */
    13         NSDictionary *dict1 = [NSDictionary dictionaryWithObject:@"1" forKey:@"a"];
    14         NSLog(@"dict1 = %@", dict1);
    15         
    16         NSDictionary *dict2 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", @"3", nil] forKeys:[NSArray arrayWithObjects:@"a", @"b", @"c", nil]];
    17         NSLog(@"dict2 = %@", dict2);
    18         
    19         NSDictionary *dict3 = @{@"1":@"a", @"2":@"b"};//1, 2 代表key,a, b 代表value
    20         NSLog(@"dict3 = %@", dict3);
    21         int count = (int)[dict2 count];
    22         NSLog(@"count = %d", count);
    23         
    24         NSString *value1 = [dict2 valueForKey:@"b"];
    25         NSLog(@"value1 = %@", value1);
    26         
    27         NSString *value2 = [dict2 objectForKey:@"b"];
    28         NSLog(@"value2 = %@", value2);
    29         
    30         NSArray *allValues = [dict2 allValues];
    31         NSLog(@"allValues = %@", allValues);
    32         NSArray *allKey = [dict2 allKeys];
    33         NSLog(@"allKey = %@", allKey);
    34         
    35         NSArray *array = [dict2 objectsForKeys:[NSArray arrayWithObjects:@"a", @"b", @"d", nil] notFoundMarker:@"not fount"];
    36         NSLog(@"array = %@", array);
    37         
    38         //遍历字典
    39         for(NSString *key in dict2)
    40         {
    41             NSLog(@"%@ = %@", key, [dict2 objectForKey:key]);
    42         }
    43         for(id object in dict2)
    44         {
    45             NSLog(@"%@ = %@", object, [dict2 objectForKey:object]);
    46         }
    47         //用枚举器遍历
    48         NSEnumerator *en = [dict2 keyEnumerator];
    49         id key = nil;
    50         while (key = [en nextObject])
    51         {
    52             NSLog(@"key - %@", key);
    53         }
    54 #pragma mark - NSMutableDictionary
    55         NSMutableDictionary *dictM = [[NSMutableDictionary alloc] init];
    56         //添加键值对
    57         [dictM setValue:@"1" forKey:@"a"];
    58         [dictM setValue:@"2" forKey:@"b"];
    59         NSLog(@"dictM = %@", dictM);
    60         //删除键值对
    61 //        [dictM removeAllObjects];
    62 //        [dictM removeObjectForKey:@"b"];
    63         [dictM removeObjectsForKeys:[NSArray arrayWithObjects:@"a", @"b", nil]];
    64         NSLog(@"dictM = %@", dictM);
    65         
    66     }
    67     return 0;
    68 }
  • 相关阅读:
    数据库规范化:闭包求解
    Django restframework解析器组件增加及源码分析
    Nuxt
    window环境下安装homestead后,共享文件夹无法共享文件
    30岁女IT月薪3W的背后:从数据报表到数仓、中台,这工具帮了大忙
    Markdown字体颜色、字号、大小修改(含颜色表)
    数据库规范化:函数依赖,三范式的区别
    数据库作业20:数据库恢复技术
    How Many Processes Should Be Set For The Receiving Transaction Manager (RTM)
    How to Create a Java Concurrent Program
  • 原文地址:https://www.cnblogs.com/songlei0601/p/5749097.html
Copyright © 2020-2023  润新知