• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Yesi-悦思
"(program(computers) == *art) ? so : what" 修身岂为名传世,作事惟思利及人
博客园    首页    新随笔    联系   管理    订阅  订阅

NSValue

针对结构体

NSNumber->数字

NSNumber是NSValue的一个子类

NSValue可以包装任意值(也可以包装对象,吃太多 )

void value(){

CGPoint point=CGPointMake(10,10);

NSValue *value=[NSValue valueWithPoint:point];

NSMutableArray array=[NSMutableArray array];

[array addObject: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={2015,6,4};

//void * 代表任何指针

//根绝结构体类型生成对应的字符串

char *type=@encode(date);

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

//取出包装好的结构体

//定义一个结构体变量用于接收

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

Date date1;

[value getValue:&date];//没有返回值,指针搞了

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

}

image

posted @ 2015-06-04 22:11  悦思  阅读(121)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3