码迷,mamicode.com
首页 > 其他好文 > 详细

NSNumber 与NSValue

时间:2018-10-24 16:48:42      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:作用   类型   结构   bool   color   int   oat   val   cti   

    NSNumber与NSValue关系与作用

1.由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们就需要将这些数据类型或结构体包装成OC对象,以便集合能访问到。常用的用来包装这些类型的有NSNumber NSValue

2.NSNumber只能包装基本数据类型,比如int, float,char,BOOL等

3.NSValue可以包装任意一个对象,包括系统自定义的数据结构,结构体等等

4.NSNumber是NSValue的一个子类

    NSNumber

//包装
int age = 20;
NSNumber *num = [NSNumber numberWithInt:age];//将基本数据类型int对象age 包装成NSNumber对象
@(age);//直接包装

//拆封
[num intValue];

    NSValue

将结构体包装成OC对象

CGPoint p = CGPointMake(1,2);
NSValue *val = [NSValue valueWithPoint:p];//将结构体p包装成NSValue对象

//
[value pointValue]

 

NSNumber 与NSValue

标签:作用   类型   结构   bool   color   int   oat   val   cti   

原文地址:https://www.cnblogs.com/Free-Thinker/p/9844269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!