Проблема не только в вашем NSDate
, потому что вы использовали retainCount
Примечание:
NSDate *tempStartDate = [NSDate date]; // No alloc, retain, copy, or mutableCopy - so assume autoreleased instance
[tempStartDate retain]; // You call retain - you own this now
pageStartDate = tempStartDate; // Not going through the setter. :(
[tempStartDate release]; // You've released this correctly, except for the step above.
// pageStartDate is now pointing to a garbage pointer.
Вы сделали правильную вещь, освободив то, что сохранили, но pageStartDate не удерживает значение.
Попробуйте это
self.pageStartDate = [NSDate date];
Поскольку вы используете retain
для свойства pageStartDate, оно сохранит значение для вас.
Но - попытка использовать retainCount
для проверки управления памятью, по сути, делает это неправильно.