Если вы объявляете свойство «cost.addedDate» для использования retain (@property (retain)), вам не следует назначать дату так, как вы это делаете, потому что объект будет иметь retainCount 2, позже, когда он будет освобожден, это вызовет Memleak.
Вместо этого достаточно либо использовать автоматически выпущенный объект, либо после назначения отпустить объект.
, например
expense.addedDate = [NSDate date]; // will return an autoreleased object
или
NSDate* dt = [NSDate new];
expense.addedDate = dt;
[dt release];
или третий способ
NSDate* dt = [[NSDate new] autorelease];