2016-05-13 3 views
1

Mein Problem ist wie folgt. Ich habe eine App erstellt, mit der Benutzer Beiträge zu Zeilen in TableViewController hinzufügen können. Außerdem können sie nur ihre Posts mit UITableViewCellEditingStyle löschen, indem sie prüfen, ob der aktuelle Benutzer dieselbe ID wie die ID des Benutzers hat, der den Post erstellt hat. Leider erlaubt diese Art der Bearbeitung der Zellen auch zu versuchen, andere Benutzerbeiträge zu löschen. Ich möchte, dass die Schaltfläche zum Löschen nur angezeigt wird, wenn Benutzer ihre Beiträge streichen. Ich füge an image of the button an Ich habe darüber gesprochen.Wie kann das Löschen von Zeilen in TableView auf bestimmte Benutzer beschränkt werden?

Antwort

1

Sie können etwas tun:

Wenn Sie nicht über eine benutzerdefinierte Klasse für UITableViewCell:

override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle { 
    if owner[indexPath.row] == me { 
     return .Delete 
    } 
    else { 
     return .None 
    } 
} 

Oder, wenn Sie eine benutzerdefinierte Klasse für UITableViewCell haben dann das:

override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle { 
    if (tableView.cellForRowAtIndexPath(indexPath) as! YourTableViewCell).owner == me { 
     return .Delete 
    } 
    else { 
     return .None 
    } 
} 
0

Führen Sie einfach die Überprüfung der übereinstimmenden Benutzer-IDs in der Delegiertengruppe editingStyleForRowAtIndexPath der Tabelle durch und geben Sie UITableViewCellEditingStyle.None zurück, wenn der Benutzer ungültig ist.

Reference for editingStyleForRowAtIndexPath

+0

Danke für die Antworten zu setzen, aber könnten Sie mir ein Beispiel geben, wie es zu benutzen? – Michal

0

Sie können dies auch versuchen, erinnern die Standard editingStyle für Zelle

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool { 
     return owner[indexPath.row] == me 
    } 
Verwandte Themen