0

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

NSDate *now = [NSDate date];

好像和这个一样。。。

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

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

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

4

1 回答 1

4

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

于 2013-05-03T02:29:53.230 回答