NSValue

#import <Foundation/Foundation.h>

typedef struct{

    int x;

    int y;

}TRPoint;

typedef struct{

    char ch;

    double d;

}TRMyData;

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

    @autoreleasepool{

        TRPoint p;

        p.x = 10;

        p.y = 15;

        NSLog(@"%d%d",p.x,p.y); //  1015

        NSValue * value = [NSValue valueWithBytes:&p objCType:@encode(TRPoint)];//封装

        NSLog(@"%@",value);      //  <0a000000 0f000000>


        TRPoint p1;

        [value getValue:&p1]; //拆封

        NSLog(@"(%d,%d)", p1.x, p1.y); //  (10,15)


        TRMyData dara = {'a', 3.14};

        NSValue * md = [NSValue valueWithBytes:&data objCType:@encode(TRMyData)];

        TRMyData data1;

        [mdgetValue:&data1];

    }

    return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NSValue是NSNumber的父类结构体 指针 复合类型 使用NSValue来封装 int a[10]也可以...
    DVWang阅读 5,107评论 1 1
  • 前言 众所周知,Objective-C里的数组要求存储的值为对象,而结构体作为数组元素的时候就涉及到了自定义结构体...
    Bestmer阅读 4,272评论 1 2
  • NSValue对象Objective-C 中的NSValue的详解一个NSValue对象是用来存储一个C或者Obj...
    向日葵_wwx阅读 7,134评论 1 0
  • //1.将常见的结构体包装成oc对象NSValue,然后存到NSArray中CGPoint point1 = CG...
    Jason_Wong阅读 5,254评论 0 1
  • 那的确是一株柳树 曾经也有嫩绿的枝条 在炎热的夏 为许多人遮挡过烈阳 儿时的我走近它 多仰慕它的高大豪爽 后来 在...
    万里追风阅读 2,555评论 0 2