self.editing 与 self.tableView.editing 和 setEditing 的混淆
Posted
技术标签:
【中文标题】self.editing 与 self.tableView.editing 和 setEditing 的混淆【英文标题】:self.editing vs. self.tableView.editing and setEditing confusion 【发布时间】:2018-12-31 04:30:33 【问题描述】:在编辑打开时在我的 UITableView 控制器上呈现模态视图后,我发现在关闭控制器时 self.editing
和 self.tableView.editing
的值不同(self.editing
仍然打开但 self.tableView.editing
已消失关闭并且tableView处于奇怪的状态)。
为了纠正这个问题,我在展示模态视图时做了[self setEditing:NO animated:YES]
。
我发现这两行不做同样的事情:
[self.tableView setEditing:NO animated:YES];
[self setEditing:NO animated:YES];
我的问题是:
(1)为什么这些命令和
有区别(2)self.editing
和self.tableView.editing
的状态怎么会不一样?
【问题讨论】:
self.editing 与 viewcontroller 无关,其他与 tableview 无关。 【参考方案1】:根据文档
self.editing
一个布尔值,表示 viewController 当前是否允许用户编辑视图内容
self.tableView.editing
一个布尔值,用于确定表格视图是否处于编辑模式。
我想你可以通过它自己的定义来理解,viewController编辑是指viewController是否允许编辑。
【讨论】:
谢谢你,Gihan,把它弄明白了。我混淆了这两者,但它们只是松散的相关。在 tableView 控制器中。 [self setEditing:]需要调用super和tableView的setEditing:方法。以上是关于self.editing 与 self.tableView.editing 和 setEditing 的混淆的主要内容,如果未能解决你的问题,请参考以下文章