在iPhoneApp中将对象添加到“购物车”中会导致在多个索引的对象中添加条目

| 我有一个奇怪的问题,我有一段时间无法调试了,所以我终于在这里发布了。 我有一个iPhone应用程序。它有一个购物车对象。购物车对象内部有各种变量。其中有一个\“ MainDish \”对象的NSMutable数组。每个“ MainDish”对象本身由各种变量组成,其中“ Sides”(NSMutable Array)是一个。 现在的问题是,当用户选择MainDish时,说出\“ AngusBurger \”并没有向sides数组添加任何内容,然后返回并立即选择另一个\“ AngusBurger \”,但是为此添加了Sides:\“ fries \” ,“可乐”,碰巧这两个“ AngusBurger”菜都加入了面。 仅当“ AngusBurgers”被连续排序时才发生,如果在2个相似的主菜之间还有另一个主菜,则此行为不会发生... 我不知道到底发生了什么... 这是当拾取侧面时ViewController内部的代码:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    FoodItem *fm = [Cart.foodItemsArray lastObject];
        [fm.sidesArray addObject:_sidesItem];

}
任何帮助将不胜感激 谢谢 更多代码: 在ViewController内部-在购物车中添加一个fooditem:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    Cart = [CartSingleton getSingleton];
    [Cart addFoodItemToCart:selectedFoodItem];
}
内车:
-(id)init
{
    self.foodItemsArray = [[NSMutableArray alloc]initWithCapacity:0];
}

-(void)addFoodItemToCart:(FoodItem *)itm
{
    numFoodItems++;
    [self.foodItemsArray addObject:itm];
}
食品:
-(id)initWithObjects:(NSString *)_name 
         Description:(NSString *)_description
            Calories:(NSString *)_calories
               Price:(NSString *)_price
           photoPath:(NSString *)_pathToPhoto
            Category:(NSString*)_foodCategory

{
    self.foodName = _name;
    self.foodDescription = _description;
    self.foodCalories = _calories;
    self.foodPrice = _price;
    self.pathToPhoto = _pathToPhoto;
    self.foodCategory = _foodCategory;
    sidesArray = [[NSMutableArray alloc]initWithCapacity:0];
    return self;
}
将Sides项目添加到FoodItem: (这是问题区域,也是前提条件,前提是副食品也应添加到以前的食品中,然后添加到食品库中)
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    Cart = [CartSingleton getSingleton];
    FoodItem *fm = [Cart.foodItemsArray lastObject];
    [fm.sidesArray addObject:_sidesItem];
}
SidesItem:
-(id)initWithObjects:(NSString *)_name 
         Description:(NSString *)_description
            Calories:(NSString *)_calories
               Price:(NSString *)_price
           photoPath:(NSString *)_pathToPhoto
            Category:(NSString*)_foodCategory

{
    self.sideName = _name;
    self.sideDescription = _description;
    self.sideCalories = _calories;
    self.sidePrice = _price;
    self.pathToPhoto = _pathToPhoto;
    self.sideCategory = _foodCategory;

    return self;
}
    
已邀请:
不要将引用添加到\“ menu \”对象的购物车中,而必须创建它的副本。     

要回复问题请先登录注册