NSDate - 默认初始化程序如何在堆上分配空间?

时间:2013-05-03 00:06:43

标签: objective-c nsdate

我知道显式分配和初始化对象是一种好习惯,但我很困惑为什么在以下示例中不需要NSDate实例:

NSDate *now = [NSDate date];

看起来与此相同......

NSDate *now = [[NSDate alloc] init];

我假设日期类方法在堆上分配空间,但我只找到了NSDate.h而不是Apple实际实现该方法的方式。

Apple文档简单地说,“此方法使用类的默认初始化方法,init。”

1 个答案:

答案 0 :(得分:4)

+ [NSDate date]是一个“便利构造函数”。通常,实现看起来与return [[[self alloc] init] autorelease]非常相似。