• ios NSNumber / NSValue


    NSNumber:

    数组里面要放的是OC类的对象,OC不允许存放基本数据类型的数据

    用于将基本数据类型的数据或变量封装成OC的类:

    封装方法: numberWith...
    拆封方法: …Value (任何类都是可以拆的)

    double e = 2.68;
    NSNumber *i = [NSNumber numberWithDouble(Int Char ……):e]; //封装基本数据类型
    e = [i doubleValue]; //拆封,将O-C类的对象还原为基本数据类型的数据
    NSLog(@"e = %lg,i  i = %@",e , i);
    

    NSValue:

    是NSNumber的父类

    进一步的简化NSnumber,主要用于结构体的封装,当然它也可以封装基本类型,就是比较麻烦(是需要取地址的)

    typedef struct {
        int x;
        int y;
    }TRPoint;
    
    TRPoint point; //不要用*,用*就要再堆上分配空间
    point.x = 10;
    point.y = 20;
    NSValue *value = [NSValue valueWithBytes:&point objCType:@encode(TRPoint)];
    NSLog(@"%@", value);
    TRPoint point1;
    [value getValue:&point1];
    NSLog(@"%d ,%d",point.x, point.y);
    
    成功的三大原则: 1、坚持 2、不要脸 3、坚持不要脸
  • 相关阅读:
    ORACLE表空间管理维护
    oracle表分区详解
    Jquery
    B
    A
    E
    字符串排成字典序,字符串数组
    命令,快捷键,配置
    第一个java程序
    A
  • 原文地址:https://www.cnblogs.com/xulinmei/p/7420088.html
Copyright © 2020-2023  润新知