• Foundation ----->NSNumber


    /*--------------------NSNumber--------------------*/
        //包装基本数据类型
        
        //1.创建number对象
        //12,1.9,'A',YES
        //整型
    
        //(1)包装
        NSNumber *intNum = [NSNumber numberWithInteger:12];
        NSNumber *floatNum = [NSNumber numberWithDouble:1.9];
        NSNumber *charNum = [NSNumber numberWithChar:'A'];
        NSNumber *boolNum = [NSNumber numberWithBool:YES];
        
        NSArray *array = @[intNum,floatNum,charNum,boolNum];
        NSLog(@"%@",array);
        
        //(2)解包
        NSInteger intValue = [intNum integerValue];
        CGFloat floatValue = [floatNum doubleValue];
        char c = [charNum charValue];
        bool b = [boolNum boolValue];
        
        //优化语法
        NSNumber *intNum2 = @12;
        NSNumber *floatNum2 = @1.9;
        NSNumber *charNum2 = @'A';
        NSNumber *boolNum2 = @YES;
        
        NSInteger count = 12;
        NSNumber *num = @(count);
        
        /*--------------------NSValue--------------------*/
        //将结构体变成对象
        NSRange range = {1,2};
        
        NSValue *rgValue = [NSValue valueWithRange:range];
        NSLog(@"range:%@",rgValue);
        
    //    [NSValue valueWithSize:/]
        
        //自定义的结构体
        struct CXPoint {
            CGFloat x;
            CGFloat y;
        };
        
        //----对自定义的结构体封装----
        struct CXPoint p = {1.2,9.8};
        NSValue *pValue = [NSValue value:&p withObjCType:@encode(struct CXPoint)];
        NSLog(@"%@",pValue);
        
        //----对自定义的结构体解封装----
        struct CXPoint p2;
        [pValue getValue:&p2];
        NSLog(@"%f   %f",p2.x,p2.y);
        
        
        /*---------------------NSNull---------------------*/
        
        //nil不能作为元素存放
    //    NSArray *array2 = @[@1,@2,@3,nil,@5];
        
        NSNull *null = [NSNull null];
        NSArray *array2 = @[@1,@2,@3,null,@5];
        NSLog(@"array2:%@",array2);
        
  • 相关阅读:
    如何简单的理解LSTM——其实没有那么复杂(转载)
    关于梯度爆炸和梯度消失的详解(转载)
    通俗易懂---反向传播(转载)
    pandas读取csv文件中文乱码问题
    python安装imblearn(PackageNotFoundError: ''Package missing in current channels")
    python中的虚拟环境(在jupyter和pycharm中的使用)
    关于阻塞/非阻塞、同步/非同步、死锁
    关于synchronize与lock的区别
    为什么volatile能保证有序性不能保证原子性
    索引以及Mysql中的索引
  • 原文地址:https://www.cnblogs.com/wangyibo-666/p/5122487.html
Copyright © 2020-2023  润新知