• OC之【NSValue的使用】


    #import <Foundation/Foundation.h>

    void value() {

       CGPoint point = CGPointMake(10,10);

        //将结构体变量包装成一个对象

       NSValue *value = [NSValuevalueWithPoint:point];

        

        NSMutableArray *array = [NSMutableArrayarray];

        // 添加value

        [arrayaddObject:value];

        

        // 取出当时放进去的value

       NSValue *value1 = [array lastObject];

       CGPoint point1 = [value1 pointValue];

        

       BOOL result = CGPointEqualToPoint(point1, point);

       NSLog(@"result=%i", result);

    }

    typedef struct {

       int year;

       int month;

       int day;

    } Date;

    void value2() {

       Date date = {2013,4, 7};

        // void *代表任何指针

        // 这里要传结构体的地址&date

        

        //根据结构体类型生成 对应的类型描述字符串

       char *type = @encode(Date);

       NSValue *value = [NSValuevalue:&date withObjCType:type];

        

        

        //定义一个结构体变量

       Date date1;

        

        //取出包装好的结构体

        [valuegetValue:&date1];

        

        // [value objCType];  取出类型描述字符串

        

       NSLog(@"year=%i, month=%i, day=%i", date1.year, date1.month, date1.day);

    }

    int main(int argc,const char * argv[])

    {

        @autoreleasepool {

           value2();

        }

       return 0;

    }

    On the road。。。
  • 相关阅读:
    iview的modal点击确定消失(自动关闭)问题,自定义modal页脚
    vue实现组件数据双向绑定
    vue中封装svg-icon组件并使用
    闭包的概念
    vue基本集
    websocket
    99multiplication table
    h5c3增加了哪些新特性
    防抖与节流函数
    网页性能优化小技巧
  • 原文地址:https://www.cnblogs.com/ianhao/p/4426048.html
Copyright © 2020-2023  润新知