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 calling setObject:ForKey:
[defaults setValue:onlineLastUpdatedAt forKey:IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY];
Replace with:
[defaults setObject:onlineLastUpdatedAt forKey:IMONGGO_PRODUCTS_ONLINE_LAST_UPDATED_AT_KEY];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With