您的位置:首页 > 产品设计 > UI/UE

OC视频笔记4.4(NSNumber的使用方法)4.5(NSValue的使用)(NSNull的使用)

2015-06-02 15:06 573 查看
数字对象的简介:

在之前的学习中,已经对基本数据类型有了一定的了解。但是他们不是对象们不能像他们发送消息。然而有时候也需要经他们当做对象来处理,比如我们需要把基本类型放在集合中(因为在cocoa中只能把对象放在集合里面,不能把基本数字类型放在集合里面),纳那么就需要将基本数字类型转换成数字对象。OC中提供了数值对象(NSNumber)可以将基本数字类型“包装”成对象,这也我们就可以使用基本数字类型的对象了。

NSNumber的使用:

NSNumber的创建:

1创建一个NSNumber的指针对象,让其指向包装好的基本数字类型

NSNumber *typeNumber = 【NSNumber numberWithType:typeValue】;

2解包:

Type typrValue = 【typeNumber typeValue】;

优化与法:

NSNumber *typeValue = @typeValue;

NSNumber * intNumber = @12;

NSValue的使用方法:

结构体是C语言里面定义的,C是面向过程的语言,C没有对象,所以结构体不是对象,不能把结构体当做对象来操作,那么就需要像基本数据类型一样对结构体进行包装,NSNumber里面没有对结构体进行包装的方法,但是它的父类NSvalue里面有。

NSValue可以对结构体(NSRange)进行包装

创建(封包):

NSRange range = {10,20};

NSValue *rangeValue = 【NSValue valueWithRange:range】;

解包(解包):

NSRange range = 【rangeValue rangeValue】;

3自己定义的结构体的封包:

struct WXPoint{

float a ;

float b ;

}

struct WXPoint p 1= {100,100};

NSValue *wxpoint = 【NSValue value:&p1 withObjectType:@encode(struct WXPoint)】;

4自己定义的结构体的解包:

struct WXPoint p2;

【wxpoint getValue:p2】;

NSNull的使用方法:

nil不能存入到集合里面(数组,NSSet,字典),所以要封装成对象。就要用到NSNull方法。

NSNull *n1 = 【NSNull null】;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: