2017-11-08 7 views
0

ここに私のウィッシュリストのページで私はクリックした後に削除ボタンを持っています。私はAPIをサーバーのアイテムを削除するために呼び出すようにしていますが、それを削除した後はサーバー上では成功しましたが、テーブルビューでは削除できません。これとここのデータはモデルクラスから渡していますか?ここで削除ボタンApiを呼び出した後、モデルクラスに保存されたデータを削除するには?

は、あなたが特定のインデックスを削除したい場合は、wishListModel.removeAll(を使用し、wishListModelからすべてのオブジェクトを削除したい場合は、サーバーからの成功応答して)他のwishListModel.removeAtIndex(index) を呼び出している私のコード

func deleteButtonAction(button: UIButton){ 
     let buttonPosition = button.convert(CGPoint(), to: tableDetails) 
     let index = tableDetails.indexPathForRow(at: buttonPosition) 
     let obj = wishListModel[(index?.row)!] 
     let deleteURL = "http://magento.selldesk.io/index.php/rest/V1/wishlist/delete/\(obj.wishlistItemId!)?customer_id=\(self.customerId!)" 
     self.deleteWishListItemsDownloadJsonWithURl(deleteApi: deleteURL) 
    } 
func deleteWishListItemsDownloadJsonWithURl(deleteApi: String){ 
     let url = URL(string: deleteApi) 
     var request = URLRequest(url: url! as URL) 
     request.httpMethod = "DELETE" 

     let task = URLSession.shared.dataTask(with: request) { (data, response, error) in 
      if error != nil { print(error!); return } 
      do { 
       if let jsonObj = String(data: data!, encoding: .utf8) { 
        print(jsonObj) 
        DispatchQueue.main.async { 
         self.tableDetails.reloadData() 
        } 
       } 
      } catch { 
       print(error) 
      } 
     } 
     task.resume() 
    } 
+0

wishListModel配列とreloadテーブルから項目を削除します。 – Waseem

答えて

0

です。あなたのAPIは、あなたがあなたのモデルからインデックスを削除し、削除した後のデータをリロードすることを忘れないように必要な特定の項目を削除した場合

P.Sはself.tableDetails.reloadData()

+0

しかし、画像が正しく削除されない – user0246

+0

は、同じ画像が異なるコンテンツで表示されることを意味します – user0246

+0

私は何を求めているのですか? – Baig

0

を呼び出す前にオブジェクトを削除することを確認します。

wishListModel.removeAtIndex(index_number) 
self.tableDetails.reloadData() 

あなたのapiがサーバー側からすべてのアイテムを削除した場合は、これを行う必要があります。その後

wishListModel.removeAll() 

テーブルビューにデータをリロードすることを忘れたことがない:)

self.tableDetails.reloadData() 
0

私はあなたのコード内のいくつかの変更を行った、あなたはこれを試すことができます。

func deleteButtonAction(button: UIButton){ 
     let buttonPosition = button.convert(CGPoint(), to: tableDetails) 
     let index = tableDetails.indexPathForRow(at: buttonPosition) 
     let obj = wishListModel[(index?.row)!] 
     let deleteURL = "http://magento.selldesk.io/index.php/rest/V1/wishlist/delete/\(obj.wishlistItemId!)?customer_id=\(self.customerId!)" 
     self.deleteWishListItemsDownloadJsonWithURl(deleteApi: deleteURL, atIndex:index) 
    } 
func deleteWishListItemsDownloadJsonWithURl(deleteApi: String, atIndex:IndexPath){ 
     let url = URL(string: deleteApi) 
     var request = URLRequest(url: url! as URL) 
     request.httpMethod = "DELETE" 

     let task = URLSession.shared.dataTask(with: request) { (data, response, error) in 
      if error != nil { print(error!); return } 
      do { 
       if let jsonObj = String(data: data!, encoding: .utf8) { 
        print(jsonObj) 
        DispatchQueue.main.async { 
         wishListModel.removeAtIndex(atIndex.row) 
         self.tableDetails.reloadData() 
        } 
       } 
      } catch { 
       print(error) 
      } 
     } 
     task.resume() 
    } 
+0

ここのデータは私のコードとurコードでも削除されていますが、ここではイメージは変更されませんでした – user0246

関連する問題