Скажем, у меня есть следующий код, который инициализирует NSDateComponents:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:1987];
[components setMonth:3];
[components setDay:17];
[components setHour:14];
[components setMinute:20];
[components setSecond:0];
И теперь я хочу преобразовать компоненты в NSDate. Вроде есть два пути:
Способ 1:
NSDate *date = [calendar dateFromComponents:components];
Способ 2:
NSDate *date = [components date];
Есть ли разница между этими двумя методами? Если да, то какой из них следует использовать и почему?
[components date] = nil
, если вы не назначаете календарь. Разница может быть небольшой, но мне показалось, что она заслуживает отдельного ответа. Также пример, который привел NickH, кажется мне не связанным с этой проблемой. 01.03.2014