Возможно currentArticle.createdTime
является действительной датой, но data.createdTime
является nil
?Кроме того, вы используете селектор -setDateFormat:
для dateFormat
, но похоже, что ваш форматировщик даты - dateFormatter
.
Попробуйте следующий код:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyyMMdd"];
NSDate *date = data.createdTime;
NSLog(@" Normal Date = %@", date);
NSLog(@"Formatted Date = %@", [dateFormatter stringFromDate: date]);
[dateFormatter release];
Если date
означает nil
, тогда вам сообщат оба вызова NSLog()
.
Редактировать
Дважды проверьте, что data.createdTime
является экземпляром NSDate
.Возможно, это экземпляр другого класса, такого как NSString
, чей -description
возвращает отображаемую дату.Это объясняет, почему NSLog()
«показывает» дату, но форматер возвращает ноль.
BOOL isDate = [data.createdTime isKindOfClass: [NSDate class]];
NSLog(@"Date %@ a date.", isDate ? @"is" : @"is not");