OC里面的类类型
类类型
比如说Volume *v1,*v2
v1和v2都是Volume类型,实际上就是一个指针,如果把v1赋值给v2后,那么v2和v1有相同的属性
空指针nil
返回值为id的类型的方法中,如果出错的话,一般会返回nil
调用端会采用如下语句来判断方法调用是否成功,
if(object != nil){
method
}
或者
if(object){
method
}
或者直接
method
因为object如果为空,那么就不会调用方法
最后一种方法,虽然是最简单的,但是如果不注意的话会带来错误
比如下面这段程序
val=[list entryForKey:”Next”];
[val setValue:n++];
虽然如果val为空不会发送信息,但不代表[val setValue:n++];不会执行,里面还是会执行n++。
如果向nil发送信息,那么消息的返回值是什么呢?一般来说,如果消息对应的返回值是一个对象,那么返回nil,如果消息的返回值是指针类型那么返回值是NULL,如果消息的返回值是整型,那么返回0.而如果返回值的类型是以上几种类型之外的类型,比如结构体或实数,那么实际返回值则同Mac OS X的版本及结构体大小等相关。