NSNumber是用来把基本数据类型封装为对象
使用 (numberWith基本数据类型) 这个方法原型,来对基本数据类型进行封装成NSNumber对象
基本数据类型
int
float
double
NSUIngeter
NSIngeter
......
使用 (数据类型Value) 这个方法原型,来对NSNumber对象进行解封装成所需基本数据类型
NSValue是用来把结构体数据封装为对象
使用 (ValueWith结构体变量名)这个方法原型,来对结构体数据类型进行封装成NSValue对象
结构体
CGPoint 定义一个点
CGSize 也是定义一个点
这结构体中有x和y两个CGFloat的数据类型
CGRect 创建一个矩形,一共有四个参数
NSRange 该结构体有两个参数,就是从location开始,长度为length
NSEdgeInsets 用户界面布局的结构体,就是离top、left、bottom、right的距离是多少
......
其中这些CGPoint、CGRect等这些结构体都会有相对应的NSPoint、NSRect等结构体,但是这两种结构体的用法都是类似的;同样关于NSRange、NSEdgeInsets等结构体都有与其相对应的CGRange、CGEdgeInsets等结构体,用法也类似
结构体初始化
CGPoint point = {21, 43};
也可以这样,这种也是最常用的
CGPoint point = CGPointMake(21, 43);
每种结构体都具有两种的初始化方式,第二种方式就是使用类本身的方法初始化,
方法原型为:结构体类型Make()
使用 (结构体变量名Value)这个方法原型,来对NSValue对象进行解封装成所需的结构体数据类型