码迷,mamicode.com
首页 > 其他好文 > 详细

Object-C在Nil上调用方法

时间:2016-05-26 18:29:44      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

  在Object-C中,nil对象的作用等同于很多其它语言的NULL指针。不同的地方在于,在nil上调用方法不会导致程序崩溃或抛出异常。

  这种技术被用在很多地方,但是对于我们来讲,最主要的就是我们不用在调用一个对象的方法之前检查该对象是否为空。如果你调用了一个nil对象的方法并且该方法有返回值的话,你会得到一个nil返回值。

  我们也可以用它来稍微改进一下我们的dealloc方法:

  - (void)dealloc

  {

    self.caption = nil;

    self.photographer = nil;

    [super dealloc];

  }

  可以这样做是因为当我们将nil赋值给一个实例变量,设置器(setter)会释放旧对象并且保留(retain)nil对象。这种做法对于dealloc来说更好一些,因为这样做避免了让变量指向一个随机的数据,而这个数据又恰好是另外一个对象。

  注意,我们在这里使用了self.语法,这表示我们使用的是setter,它会进行内存管理。如果我们仅仅是直接设置值,像下面这样,那就回产生内存泄漏:

  caption = nil;

Object-C在Nil上调用方法

标签:

原文地址:http://www.cnblogs.com/property-Introduce/p/5531946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!