我知道显式分配和初始化对象是一种好习惯,但我很困惑为什么在以下示例中不需要NSDate实例:
NSDate *now = [NSDate date];
看起来与此相同......
NSDate *now = [[NSDate alloc] init];
我假设日期类方法在堆上分配空间,但我只找到了NSDate.h而不是Apple实际实现该方法的方式。
Apple文档简单地说,“此方法使用类的默认初始化方法,init。”
答案 0 :(得分:4)
+ [NSDate date]是一个“便利构造函数”。通常,实现看起来与return [[[self alloc] init] autorelease]
非常相似。