1. *Const
NSString *const EOCCarNameConstant = @"myCarName";
const修饰符在*
后表示EOCCarNameConstant是一个常量,而这个常量是指针,指向NSString对象。表示:我们不希望有人改变此指针常量,使其指向另一个NSString对象。
2. @private @protected @public @package
- @private:只有当前类可以访问,子类也不可以,类实例不可访问
- @protected:默认关键字,当前类、子类可以访问,类实例不可访问
- @package:本包内可以访问,类实例可以访问,夸包不可访问
- @public:任意访问
下图为参考1中官方给出的关系图
scopeinstvariables.gif
3. NSInteger NSNumber
-
NSInteger
是基本数据类型,在32位的系统为int
,在64位系统下为long
-
NSNumber
是类,以对象的形式包装基本的数据类型
备注:NSArray
中存储的是类,因此[array addObject:3];//会编译错误
,需要[array addObject:@3];//将3转换为NSNumber
4. nil, Nil, NULL, NSNull
-
nil
将对象释放掉,会使用object = nil -
Nil
同nil
没区别,可以互相替换。一般约定俗成的实例用nil
,类用Nil
-
NSNull
一般用nil
表示已经被释放掉的空对象,但是想表示一个容器,但里面什么没有时,用NSNull
。例如,NSArray
中用NSNull
占位。NSNull
继承自NSObject
,只有一个方法+ null
,返回NSNull
的单例,等价于kCFNull
。 -
NULL
C语言中的空指针。例如double *a = NULL;
网友评论