zoukankan      html  css  js  c++  java
  • OC ---- 字典集合 iOS学习-----细碎知识点总结

    实例方法的创建
        NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:@"悟空", @"name", @"", @"gender", @"500", @"age", nil ];
        NSLog(@"%@", wukong);
        
        // 便利构造器创建
        NSDictionary *wuNeng = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"悟能", @"", @"300", nil] forKeys:[NSArray arrayWithObjects:@"name", @"gender", @"age", nil]];
        NSLog(@"wuNeng = %@", wuNeng);
    // 获取字典在所有key
        NSArray *allKey = [wuNeng allKeys];
        NSLog(@"allKey = %@", allKey);
        // 获取字典中所有的value
        NSArray *allValue = [wuNeng allValues];
        NSLog(@"allValue = %@", allValue);
        
        // 通过Key查询对应的value
        NSString *name = [wukong valueForKey:@"name"];
        NSLog(@"name = %@", name);
        
        NSString *gender = [wukong valueForKey:@"gender"];
        NSLog(@"gender = %@", gender);
        // 从字典中根据key取value可以使用valueForKey和objectForKey
        NSString *age = [wukong objectForKey:@"age"];
        NSLog(@"%@", age);

    #pragma mark - NSMutableDictionary

    NSMutableDictionary *mingRen = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"漩涡鸣人", @"name", @"", @"gender", @"19", @"age", nil];
        
        // 添加键值对
        [mingRen setValue:@"吃拉面" forKey:@"hobby"];
        [mingRen setValue:@"木叶" forKey:@"address"];
        
        // 更改
        [mingRen setValue:@"吃包子" forKey:@"hobby"];
        
        // setValue:forKey:和object:forkey:当key存在的时候,是修改key对应的value,当key不存在的时候是添加一对jianzhi
        [mingRen setValue:nil forKey:@"hobbby"]; //
        //[mingRen setValue:nil forKey:@"address"];  // 该方法中对应的object不能为空,否则会崩溃
        //[mingRen setValue:[NSNull null] forKey:@"address"];  // 如果想给空值i个个、、、的话使用NSNull
        //[mingRen setObject:[NSNull null] forKey:@"address"]
        
        // 删除
        [mingRen removeObjectForKey:@"address"];
        
        // for in快速枚举 字典的快速枚举,in前面是key的类型,in后面是字典对象(实例)
        for (NSString *key in mingRen) {
            NSLog(@"key = %@, value = %@", key, [mingRen valueForKey:key]);
        }

    #pragma mark - NSSet &NSMutableSet

    // 创建一个NSSet对象
        NSNumber *number1 = [NSNumber numberWithInt:3];
        NSNumber *number2 = [NSNumber numberWithInt:10];
        NSNumber *number3 = [NSNumber numberWithInt:20];
        NSNumber *number4 = [NSNumber numberWithInt:30];
        NSSet *set = [[NSSet alloc] initWithObjects:number1, number2, number3,number1, number4, nil];
        NSLog(@"----%@", set);
        NSLog(@" %ld", [set count]);  // 集合里面的个数
        
        NSLog(@"===%@", [set anyObject]);  // 从集合里取出一个元素
        
        if ([set containsObject:number1]) { // 集合中是否包含某个元素
            NSLog(@"集合里有number1这个对像");
        } else {
            NSLog(@"集合中没有这个对象");
        }
        
        // 创建一个NSMutbleSet对象
        NSMutableSet *mutableSet = [NSMutableSet setWithObjects:@3, @4, @5, @9, @20, nil];  // 字面量
        NSLog(@"%@", [[set anyObject] class]);
        NSLog(@"==%@", [number1 class]);
        
        // 添加
        [mutableSet addObject:@80];
        // 删除元素
        [mutableSet removeObject:@3];
        NSLog(@"-=-=%@", mutableSet);
        
        NSCountedSet *countedSet = [NSCountedSet setWithObjects:number1, number2, number3 , number3, number4, number2, nil];
        NSLog(@"%@", countedSet);
        NSLog(@"number1的次数是:%ld", [countedSet countForObject:number1]); // 获取某个对象在NSCountedSet中重复的次数
        
        // 使用forin 对NSSet经行快速枚举
        for (NSNumber *number in set) {
            NSLog(@"----%@", number);
        }
        
        // 从文件读取字符串
        NSError *error = nil;
        NSString *txtString = [[NSString alloc] initWithContentsOfFile:@"/Users/lanou3g/Desktop/test.txt" encoding:NSUTF8StringEncoding error:&error];
        NSLog(@"%@", txtString);
  • 相关阅读:
    vue打包---放到服务器下(一个服务器多个项目需要配置路径),以及哈希模式和历史模式的不同配置方法
    承诺----异步函数---封装一个函数,使用承诺得到返回值(原本三个参数,使用前两个参数发送请求,得到第三个参数想要的结果,但是在函数外部拿不到第三个参数的值,所以改为两个参数,用承诺来获取第三个参数)
    双层拖拽事件,用鼠标画矩形,拖动右下角可以再次改变矩形大小,方案一 有BUG
    axios 使用方法 以及服务器端 设置拦截发送404状态的提示语,当网络错误时候返回前端的提示, 当网络正常的时候返回后端的提示
    异步async await 相关知识点总结以及代码练习
    vue+div.canvas图像标注功能实现
    Django与Ajax
    项目园
    Django 路由层与视图层
    Bootstrap框架如何设置导入链接
  • 原文地址:https://www.cnblogs.com/pp123/p/4945908.html
Copyright © 2011-2022 走看看