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



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

NSDate *now = [NSDate date];

似乎与此相同…

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

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

Apple文档简单地说:"这个方法使用类的默认初始化方法init。"

+[NSDate date]是一个"方便构造函数"。通常情况下,实现看起来与return [[[self alloc] init] autorelease]非常相似。

最新更新