objective-c中常用的数据类型
基本数据类型
int 输出格式符:%i, %d, %o %x
float 输出格式符:%f, %e, %g
double 输出格式符:%f, %e, %g
char 输出格式符:%c
限定符:
long long int: %li long double: %Lf
long int 等同于在数字后面加L(long int number = 123324123234123L)
long long long long int: %lli
short short int: %hi
unsigned
signed
其它
1.id
id是一种泛型,用于表示任何种类的对象。需要注意的是id是一个指针,所以在使用id的时候不需要加星号。例如:id foo=nil;而“id *foo=nil"则定义了一个指针,这个指针指向另一个指针,被指向这个指针指向NSObject的一个子类。
2.枚举数据类型、typedef 语法以及数据类型的转换,与C 一样。
3.布尔类型
C语言拥有布尔类型bool,objective-c拥有布尔类型BOOL,具有YES和NO值,Cocoa代码中要用BOOL。BOOL实际上是一种对带符号的字符类型(signed char)的定义(typedef),使用8位存储空间,YES定义为1(注意!只能是1,不是任何非零数),NO是0。如果将一个长于一字节的整型值付给一个BOOL变量,则低位字节起作用,如低位字节刚好为0,则布尔值为NO。
4. sel选择器
选择器就是指向方法的一个指针,可以简单理解为程序运行到这里就会执行指定的方法。
5.nil和Nil
nil类似C的NULL,nil表示一个Objctive-C对象,这个对象的指针指向空。
而Nil和nil有一点不一样,Nil定义一个指向空的类(是Class,而不是对象)。
注意在objective-c中,向一个空的对象发送消息是合法的。
6.IMP
IMP是一个指向函数的指针,这个被指向的函数包括id(“self”指针),调用的SEL(方法名),再加上一些其他参数。
7.class
class定义了各种内部变量, 数据和各种你能够调用的方法methods,以及你能够执行的各种动作action。
8. method
method(我们常说的方法)表示一种类型,这种类型与selector和实现(implementation)相关。