Разыменование указателя в Objective-C

Может ли кто-нибудь объяснить мне, почему мы не разыменовываем указатель «сейчас» на экземпляр NSDate, когда мы действительно хотим получить данные из этого экземпляра, а не адрес.

NSDate *now = [NSDate date];
NSLog(@"The date is %@", now);

Я смущен тем, что предыдущий пример использования NSLog в книге Аарона Хиллегасса «Программирование на языке Objective-C» был:

NSDate *now = [NSDate date];
NSLog(@"The new date lives at %p", now);

Этот код понятен. Нам нужен адрес, мы его получаем. Но как получить фактическую дату, просто изменив спецификатор, когда мы продолжаем работать с указателем?

9
задан Peter DeWeese 2 January 2012 в 22:58
поделиться