У меня есть особая проблема, которую я не смог отладить какое-то время, поэтому я наконец выложил ее здесь.
У меня есть приложение для iphone.У него есть объект корзины.Внутри объекта Корзина находятся различные переменные.Среди них NSMutable Array объектов "MainDish".Каждый объект «MainDish» сам состоит из различных переменных, среди которых «Стороны» (NSMutable Array) являются одной.
Теперь проблема в том, что когда пользователь выбирает MainDish, скажем «AngusBurger» и ничего не добавляет в массив сторон, затем возвращается и сразу выбирает другой «AngusBurger», но к этому добавляются стороны: «fries», "кока-кола, бывает так, что к обеим" AngusBurger "блюдам добавляются стороны.
Это происходит только в том случае, если" AngusBurgers "последовательно заказаны, если есть еще одно основное блюдо между 2 подобнымитогда это поведение не происходит .....
Я озадачен, не уверен, что именно происходит ......
Вот код внутри ViewController, когда сторонывыбрано:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
FoodItem *fm = [Cart.foodItemsArray lastObject];
[fm.sidesArray addObject:_sidesItem];
}
Любая помощь будет принята с благодарностью. Спасибо
Подробнее Код:
Inside ViewController - добавление элемента питания в корзину:
- (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];
}
FoodItem:
-(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;
}
Добавление элемента сторон в FoodItem: (ЭТО ПРОБЛЕМАОБЛАСТЬ, БОЛЬШОЙ ПУНКТ, ДОБАВЛЕННЫЙ К 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;
}