Objective-C中的类型

Objective-C中的数据类型

 
导航:
基本数据类型
对象类型
id类型
 
1.基本数据类型
     Objective-C中的基本类型与C语言的基本类型一样,主要有:int,long,float,double,char,void,bool等.
     值得注意的是,在Foundation框架中,系统为某些数据起了别名,如: NSInteger 是 long ,CGFloat是double,以及BOOL等
     由于Objective-C是C的超集,因此,OC中也可以使用C语言的构造类型,如:数组,结构体等;
     *对于基本数据类型,不需要指针,也不需要手动回收,方法执行结束系统就会自动回收.
     
2.对象类型
常见的对象类型的数据类型有:
-NSNumber
-NSString和NSMutableString
-NSArray和NSMutableArray
-NSSet和NSMutableSet
-NSDictionary和NSMutableDictionary
 
3.id类型:
     在Objective-C中,id类型是一个比较独特的数据类型,它可以转换为任何数据类型,也就是说,id类型的变量可以存放任何数据类型的对象.在内部处理上,这种类型被定义为指向对象的指针,实际上是一个指向这种对象的实例变量的指针.id是一个指向任何一个继承了NSObject类的的对象.
     由于id是一个指针,所以在使用id的时候不需要在前面加星号*
     
4.其他特殊的数据类型(nil、Nil、SEL等等)
     nil  与C语言的NULL相同,在Objc.h中定义. nil表示一个Objective-C对象,这个对象的指针指向空.(没有东西就是空)
     Nil  首字母大写的Nil与nil稍微有点不同,Nil定义的是一个指向空的类(注意,是类Class,而不是对象)
     SEL 第一次接触的时候老师说遇到它就把它替换为@selector ,SEL 是”selector”的一个类型,表示的是一个方法的名字.比如:
在调用对数组排序的方法:sortedArrayUsingSelector:(SEL)时,就会出现SEL,此时我们就可以在SEL里面填入 @selector(compare:)selector后面跟的是一种你需要用的方法.
  还有很多不是很常见的数据类型,笔者暂不一一列举了.
自己选的路,跪着也要走下去......
原文地址:https://www.cnblogs.com/zmc815/p/5325767.html