美文网首页
Objective-C 2.0语言笔记

Objective-C 2.0语言笔记

作者: NapoleonY | 来源:发表于2018-04-24 17:25 被阅读4次

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
  • Nilnil没区别,可以互相替换。一般约定俗成的实例用nil,类用Nil
  • NSNull一般用nil表示已经被释放掉的空对象,但是想表示一个容器,但里面什么没有时,用NSNull。例如,NSArray中用NSNull占位。NSNull继承自NSObject,只有一个方法+ null,返回NSNull的单例,等价于kCFNull
  • NULLC语言中的空指针。例如double *a = NULL;

未完待续

参考

  1. The Objective-C Programming Language

相关文章

网友评论

      本文标题:Objective-C 2.0语言笔记

      本文链接:https://www.haomeiwen.com/subject/cewjlftx.html