У меня есть корзина в моем приложении.У меня также есть UIBarButton под названием «Пустая корзина».Я реализую функциональность для этой кнопки.Тем не менее, я сталкиваюсь с некоторыми проблемами.Моя корзина является объектом данных Singleton.То, что я хочу сделать, это когда пользователь нажимает «Пустая корзина», все объекты и значения переменных в корзине должны быть освобождены и / или сделаны 0.
У меня есть метод emptyCart, реализованный в моем ViewControllerкоторый в свою очередь называет метод emptyCart объекта CartSingleton.Моя проблема, как показано ниже, вызовы разблокировки для различных объектов не освобождают объекты, потому что, когда я печатаю содержимое корзины после запуска «пустой корзины», я все равно вижу все элементы в корзине.Сообщение о выпуске не вступает в силу сразу?Как я могу мгновенно освободить все объекты в моей Корзине?
Код - «Пустая корзина» в синглтоне:
-(void)emptyCart
{
if (self.selectedLocation != NULL)
{
[self.selectedLocation release];
self.locationSelected = false;
}
if (self.foodItemsArray != NULL)
{
for (int i = 0; i < [self.foodItemsArray count]; i++)
{
FoodItem *temp = [self.foodItemsArray objectAtIndex:i];
if (temp.sidesArray != NULL)
{
[temp.sidesArray release];
}
}
[self.foodItemsArray release];
}
if (self.drinkItemsArray != NULL)
{
[self.drinkItemsArray release];
}
if (self.otherItemsArray != NULL)
{
[self.otherItemsArray release];
}
if (self.customerInfo != NULL)
{
[self.customerInfo release];
}
self.numFoodItems = 0;
//self.totalTaxPercent = 0;
self.foodItemsTotalCost = 0;
self.drinkItemsTotalCost = 0;
self.otherItemTotalCost = 0;
self.totalCostOfAllItems = 0;
self.totalTaxesAmount = 0;
self.totalChargesWithTaxes = 0;
self.gratuity = 0;
self.miscCharges = 0;