Ich versuche, einige Abstimmungsschaltflächen für meine Film-App zu machen.Löschen einer Zeile aus einer Klasse in Parse - In Swift
Ich benutze Parse, und ich habe eine neue Klasse namens Votes_Up
erstellt. In dieser Klasse sind sie 2 Spalten: User_Voting
und Film_VotedFor
.
Mein Code unten wird ausgeführt, wenn die Taste gedrückt wird. Es nimmt den currentUser und das Filmobjekt, gegen das die Schaltfläche gedrückt wurde, und fügt sie Parse hinzu. Meine Datenbank sieht wie folgt aus:
Was ich brauche
so es sie, wie zur Zeit arbeitet, wenn der Benutzer die Abstimmung Taste drückt, fügt die Informationen an die DB und addiert 1 zu die Zählung. Wenn der Benutzer sie erneut drückt, aktualisiert er die Zählung, indem er 1 wegnimmt.
Ich möchte auch die Zeile entfernen, die es zur Datenbank hinzugefügt hätte, durch den Benutzer, der dafür gestimmt hat. Wie kann ich das machen??
Mein Code:
@IBAction func upVoteButton(sender: UIButton) {
let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)
let object = objectAtIndexPath(hitIndex)
if PFUser.currentUser() != nil {
if userPressedUpButton == false {
userPressedUpButton = true
let voteUp = PFObject(className: "Votes_Up")
voteUp["User_Voting"] = PFUser.currentUser()
voteUp["Film_VotedFor"] = object!
object!.incrementKey("UpVoteCount")
object!.saveInBackground()
voteUp.saveInBackgroundWithBlock({ (success, error) in
if success == true {
// Object(s) was/were successfully saved
} else if error != nil {
// Display an alert to the user
} else {
// Display an alert to the user - something went wrong
}
})
} else {
userPressedUpButton = false
// I need to removed the row from the class here that was added, as the user has retracted their vote!
object!.incrementKey("UpVoteCount", byAmount: -1)
object!.saveInBackground()
}
} else {
// No user is logged in so they can't vote
performSegueWithIdentifier("Votes_LoginPopup", sender: self)
}
self.tableView.reloadData()
}
Ich habe diese Zeilen lesen, aber es nicht zu übersetzen, was i‘ Ich versuche es tatsächlich. Ich habe versucht, was sie empfehlen, aber ich kann mein Ergebnis nicht bekommen. – Nick89
Ich dachte, Sie möchten die Zeile löschen? Das ist, wie Sie es tun ... indem Sie delete aufrufen ... es sei denn, Sie versuchen etwas anderes zu tun. –
Ich möchte eine Zeile löschen, die von dem Benutzer erstellt wurde, der sie hinzugefügt hat. Der Link, den Sie gesendet haben, zeigt mir nicht, wie das geht, und auch nicht in Swift. – Nick89