Here I am trying to remove particular index data when delete button pressed from the array which saved using model class can anyone help me to remove data from the array and to not display in collection view ?
Here I had tried this code
Here I had declared like this as array
var cartItemsModel = [CartItems]()
Below is my delete button action
@objc func deleteAction(sender : UIButton){
let buttonPosition = sender.convert(CGPoint(), to: cartCollectionView)
let indexPath = cartCollectionView.indexPathForItem(at: buttonPosition)
self.deleteIndexPath = indexPath
self.Index = sender.tag
let obj = cartItemsModel[(indexPath?.row)!]
self.cartItemsModel.remove(at: (indexPath?.row)!)
self.itemId = obj.itemID
self.price = obj.price
// view.isUserInteractionEnabled = false
let attribute = RappleActivityIndicatorView.attribute(style: .apple, tintColor: .white, screenBG: .darkGray, progressBG: .black, progressBarBG: .orange, progreeBarFill: .red, thickness: 4)
RappleActivityIndicatorView.startAnimatingWithLabel("Processing...", attributes: attribute)
// UIApplication.shared.beginIgnoringInteractionEvents()
if loginCheck == 1 {
let customerDeleteAPI = "\(domainName)/V1/carts/mine/items/\(itemId!)/"
customerItemsDeleteDownloadJsonWithURL(customerItemsAPI: customerDeleteAPI)
}else {
let deleteApi = "\(domainName)/en/V1/guest-carts/\(self.guestQuoteId!)/items/\(itemId!)/"
deleteItemsDownloadJsonWithURL(deleteItemsAPI: deleteApi)
}
}
Below is after calling delete api depending on response I was trying to remove the array which selected and the code is
self.cartItemsModel.remove(at: (self.deleteIndexPath?.row)!)
and I tried another code also shown below
self.cartItemsModel.remove(at: self.Index!)