Почему принято использовать вложенный оператор alloc и init для создания экземпляра?Почему бы просто не использовать что-то вроде ниже?Единственное, о чем я могу подумать, это если вы захотите использовать один из пользовательских методов инициализации - есть ли другая веская причина?
NSDate *now = [NSDate date]; возвращает автоматически выпущенную дату, это метод класса «удобства»
NSDate *now = [NSDate date];
NSDate *now = [[NSDate alloc] init]; возвращает сохраненную дату.
NSDate *now = [[NSDate alloc] init];
Обычно [NSDate date]; - лучший выбор.
[NSDate date];
Если вы ищете настойчивость, особенно при сравнении дат, вам нужно, чтобы они длились некоторое время.Используя одноэлементный подход [NSDate date], вы получаете автоматически освобожденный объект, который небезопасно использовать вне области.
[NSDate date]