镔哥认为数据是程序的基础,了解基本的数据类型是很重要的,很多人可能不屑一顾,但是你自己问一下自己,你到现在能一次性说出oc的数据类型吗?
objective-c 数据类型
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代码中要用B OOL。 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. m
ethod
method(我们常说的方法)表示一种类型,这种类型与 selector和实现 (implementation)相关。