[英]Fail to addObject to NSMutableArray
我正在使用NSUserDefault构建此“添加到收藏夹”。 将数组添加到NSMutableArray时遇到此问题。 有人知道我做错了吗? 非常感谢你。
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSMutableArray *favoriteRecipes = [[NSMutableArray alloc] init];
if ([prefs objectForKey:@"myFavor"] == nil) {
//create the array
NSMutableArray *array = [[NSMutableArray alloc] init];
[prefs setObject:array forKey:@"myFavor"];
[array release];
}
NSMutableArray *tempArray = [[prefs objectForKey:@"myFavor"] mutableCopy];
favoriteRecipes = tempArray;
[tempArray release];
NSArray *charArray = [[NSArray alloc] initWithObjects: @"test1", @"test2" , nil];
//add the recipe
[favoriteRecipes addObject:[charArray objectAtIndex:0]];
//save the array to NSUserDefaults
[prefs setObject:favoriteRecipes forKey:@"myFavor"];
[prefs synchronize];
favoriteRecipes = tempArray;
instated of above line use be below line it will work fine
[favoriteRecipes addObjectsFromArray:tempArray];
昨天做了这样的事情。 请参阅下面的代码。 即时通讯不确定您是否想要和我一样的东西。
NSDictionary *tempDictionary = [NSDictionary dictionaryWithObjectsAndKeys:productID,@"ID",productTitle,@"title",productPrice,@"price",imageUrl,@"image",shipping,@"shipping_day", nil];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *cartList = [[defaults objectForKey:@"CART_ITEMS"] mutableCopy];
if(!cartList)
cartList = [[NSMutableArray alloc] init];
if([cartList indexOfObject:tempDictionary] == NSNotFound)
{
NSLog(@"add favorite");
[cartList addObject:tempDictionary];
[defaults setObject:cartList forKey:@"CART_ITEMS"];
[defaults synchronize];
[sender setTitle:@"Remove" forState:UIControlStateNormal];
}
else
{
NSLog(@"remove favorite");
[cartList removeObject:tempDictionary];
[defaults setObject:cartList forKey:@"CART_ITEMS"];
[defaults synchronize];
[sender setTitle:@"Add to cart" forState:UIControlStateNormal];
}
每当我想要来自NSUserDefault的我最喜欢的列表时,这就是我要做的
-(void)getCartList
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *cartList = [[defaults objectForKey:@"CART_ITEMS"] mutableCopy];
productListArr = [NSMutableArray arrayWithArray:cartList];
NSLog(@"cart list data == %@", cartList);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.