为什么不简单地使用[NSDate日期]?

时间:2011-11-07 16:30:56

标签: objective-c object

为什么约定使用嵌套的alloc和init语句来创建实例?为什么不使用类似下面的东西?我唯一能想到的是你是否想要使用其中一种自定义init方法 - 还有其他正当理由吗?

NSDate *now = [NSDate date];

2 个答案:

答案 0 :(得分:5)

NSDate *now = [NSDate date];返回自动释放的日期,它是一个“方便”类方法

NSDate *now = [[NSDate alloc] init];会返回保留日期。

通常[NSDate date];是最佳选择。

答案 1 :(得分:-1)

如果您正在寻找持久性,特别是在比较日期时,您需要持续一段时间。使用单例方法[NSDate date],您将收到一个自动释放的对象,该对象在范围之外使用是不安全的。