2016-05-13 56 views
1

我的问题如下。我创建了一个应用程序,允许用户添加帖子到TableViewController中的行。还可以通过检查当前用户是否具有与创建帖子的用户的ID相同的ID来删除UITableViewCellEditingStyle的帖子。不幸的是,这种编辑单元格的方式也允许尝试删除其他用户的帖子。我想让删除按钮只在用户滑过他们的帖子时出现。我附上an image of the button我一直在谈论。如何限制在某些用户中删除TableView中的行?

回答

1

你可以做这样的事情:

如果你没有为UITableViewCell的自定义类:

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

或者如果你有UITableViewCell的自定义类那么这个:

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

只需检查表格代表editingStyleForRowAtIndexPath中匹配的用户标识符,如果用户无效,则返回UITableViewCellEditingStyle.None

Reference for editingStyleForRowAtIndexPath

+0

感谢您的答案,但你可以给我一个如何使用它的一个例子吗? – Michal

0

你也可以试试这个,记得要设置默认editingStyle细胞

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool { 
     return owner[indexPath.row] == me 
    } 
相关问题