2017-05-16 2 views
-2

Ich habe versucht, zu streichen, um in der Tabellenansicht Zelle zu löschen, aber nach dem Streichen dieser Zelle mehrmals nur dann wird es gelöscht. Wie funktioniert es reibungslos (in einem Versuch wischen und löschen)? Mein Code ist hier:Wischen zum Löschen UITabelViewCell

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 

    var bId = Helper.businessId as String 
    let param = ["id" : bId] as! [String : AnyObject] 
    if editingStyle == .delete{ 
     print(Helper.memId) 
     print("Deleted") 

    var myDictionary = self.List[indexPath.row] as! NSDictionary 
    var bId : String! 

    if myDictionary.allKeys.count>0 
    { 
     bId = myDictionary["id"] as! String 
    } 
    var bb = bId as String 
      if editingStyle == .delete{ 
     print(Helper.memId) 
     print("Deleted") 
     Alamofire.request("http://api.noattabeta.com/api/v1/user/current/memberships/\(bb)", method: .delete, headers: ["Authorization":Helper.token]).responseString 
      {response in 
       print("In Response") 

       switch response.result { 
       case .success: 

        DispatchQueue.main.async { 
         let myAlert = UIAlertController(title:"Alert", message: "Do You want to delete",preferredStyle:UIAlertControllerStyle.alert) 
         let okAction = UIAlertAction(title:"Ok",style:UIAlertActionStyle.default,handler:{ (action: UIAlertAction!) in 
          self.tableView.reloadData() 
         }) 
         myAlert.addAction(okAction) 
         let cancelAction = UIAlertAction(title:"Cancel",style:UIAlertActionStyle.default,handler:{ (action: UIAlertAction!) in 
          self.tableView.reloadData() 
         }) 

         myAlert.addAction(okAction) 
         myAlert.addAction(cancelAction) 

         self.present(myAlert, animated: true, completion: nil) 
        } 
       case .failure(let error): 
        print(error) 
       }}} 
+1

Sie müssen warten, bis der Server antwortet und in der Zwischenzeit einen Loader anzeigen, so dass der Benutzer weiß, dass die Löschung in Bearbeitung ist. –

Antwort

1

Zuerst wollte ich darauf hinweisen, dass Sie die Warnung an der falschen Stelle präsentieren. Sie führen einen Löschanruf auf der API aus, nachdem Sie erfolgreich waren, um zu bestätigen, ob er sie bestätigen möchte. Sie müssen es fragen, bevor Sie anrufen löschen

Verwandte Themen