I’m receiving an error message “EXC_BAD_ACCESS” because of “onlineLastUpdatedAt” and I don’t understand why. Here’s my code:
#define IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY @"iMonggoFetcher.ImonggoOnlineProductsLastUpdatedAt"
- (void) saveLastUpdatedAtDate{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *onlineLastUpdatedAt = [[defaults objectForKey:IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY] mutableCopy];
NSString *onlineLastUpdatedAtValue = [iMonggoFetcher lastUpdatedAtDate];
if (!onlineLastUpdatedAt) onlineLastUpdatedAt = [[NSMutableArray alloc]init];
if([onlineLastUpdatedAt containsObject:onlineLastUpdatedAtValue]){
NSLog(@"onlineLastUpdated at contains a value for onlineLastUpdatedatValue");
//[defaults setObject:onlineLastUpdatedAt forKey:IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY];
}else{
NSLog(@"!onlineLastUpdated at contains a value for onlineLastUpdatedatValue");
[onlineLastUpdatedAt addObject:onlineLastUpdatedAt];
NSLog(@"mutablearray: %@", onlineLastUpdatedAt);
[defaults setValue:onlineLastUpdatedAt forKey:IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY];
[defaults synchronize];
}
NSLog(@"added to defaults: %@ ",onlineLastUpdatedAtValue);
}
You’re calling
setValue:ForKey:when you should be callingsetObject:ForKey:Replace with: