I have below.
@interface MyViewController () {
NSDate *myCurrentDate;
}
@implementation MyViewController
-(void)viewDidLoad {
[super viewDidLoad];
myCurrentDate = [NSDate date];
}
- (IBAction) prevAction:(id)sender {
NSLog(@"myCurrentDate===%@", myCurrentDate); // here it says
myCurrentDate = [myCurrentDate dateByAddingTimeInterval:60*60*24*-1];
[self formatDateAndPostOnButton];
}
When I try to print current date as below, it crash saying BAD_EXCESS
NSLog(@"myCurrentDate===%@", myCurrentDate);
Below is the screenshot for the same.
I'm not using ARC in my project.
Any idea what is going wrong?
Since you are not using ARC, easiest way to retain objects is to use generated setters/getters.
Instead of:
make
So it will keep
NSDate
retained. Right now yourNSDate
gets deallocated when the auto-release pool is drained.You will need to use the getters/setters provided, however:
Anyways I would recommend start using ARC to make your life simpler and avoid strange memory crashes.