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]
原文地址:https://www.cnblogs.com/Free-Thinker/p/9844269.html
时间: 2024-11-05 13:03:57