2016-12-01 7 views
0

Ich baue eine iOS App und versuche eine Zeile aus dem UITableView zu löschen. Ich verwende auch Parse als Mobile-Backend der App. Hier ist der Code für die Löschmethode:iOS Swift 3 Löschen einer Zeile aus TableView mit Parse

override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 
    if editingStyle == .delete { 
     // Delete the row from the data source 
     let query = PFQuery(className: "Receipts") 
     let currReceipt = receipts[indexPath.row] 
     query.whereKey("objectId", equalTo: currReceipt.objectId!) 
     query.findObjectsInBackground(block: { (objects, error) in 
      if error != nil { 
       self.createAlert(title: "Oops! Something went wrong number 1!", message: "We could not delete the receipt") 
       print("THERE WAS AN ERROR DELETING THE OBJECT") 
      }else{ 
       for object in objects!{ 
        self.receipts.remove(at: indexPath.row) 
        object.deleteInBackground() 
        self.table.reloadData() 
       } 
      } 
     }) 
    } 
} 

Nur um zu klären, wird es nur mit einem bestimmten „objectId“ ein Empfang in der Datenbank enthalten sein, so dass die query.findObjectsInBackground nur ein einzelnes Objekt zurückkehren sollten.

Wenn ich versuche, eine Zeile im Simulator zu löschen, bekomme ich den Fehler "Objekt nicht gefunden", obwohl ich sehen kann, dass das Objekt in der Datenbank existiert. Was mache ich falsch?

UPDATE Gefunden meine Lösung nach langer Zeit suchen. Für alle Interessierten hat es mit den Standard-ACL-Werten für Lese- und Schreibberechtigungen zu tun. Hier ist der Link zur Antwort: Parse weird bug in Swift that causes ACL write permissions to change to an objectId

Antwort

0

Es könnte ein Tippfehler sein, aber warum hast du! in dieser Zeile?

query.whereKey("objectId", equalTo: currReceipt.objectId!) 
+0

Wenn kein "!" Ich bekomme die Warnung, dass der "Ausdruck" implizit von 'String' erzwungen wird? zu " –

+0

Fand meine Lösung nach mehreren Tagen der Suche ... Falls Sie interessiert waren: http://stackoverflow.com/questions/34926827/parse-weird-bug-in-swift-that- causes-acl-write -permissions-to-change-to-objec –