我有一个UITableView
,每个单元格都与一个文件相关联。 tableview显示来自所有用户的文件,当单元格的文件属于当前用户时,单元格显示编辑按钮。我的cellForRowAtIndexPath
将检查与该文件关联的用户ID,并将其与当前用户ID进行比较。如果ID匹配,则不会隐藏按钮。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = self.fileTable.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! FileCell
let file = self.tableFiles[indexPath.row]
cell.fileLabel.text = file.title
cell.userLabel.text = file.username
if file.userId != user?.userID
{
cell.editButton.hidden = true
}
cell.editButton.addTarget(self, action:#selector(HomeController.editPressed(_:)), forControlEvents: UIControlEvents.TouchUpInside)
return cell
}
当用户登录并且登录后第一次加载tableview时,此方法正常。但是,当用户创建要添加到tableview的新文件时,将调用self.navigationController?.popViewControllerAnimated(true)
并重新显示tableview。但是,新文件的编辑按钮不会显示在新文件或任何将来添加的文件中,除非用户注销并重新登录。
答案 0 :(得分:0)
以下应解决您的问题。
if file.userId != user?.userID
{
cell.editButton.hidden = true
}
else
{
cell.editButton.hidden = false
}