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.editingself.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.editingself.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 的混淆的主要内容,如果未能解决你的问题,请参考以下文章

QTableWidget 中的列宽

将值附加到现有行

Pyqt5 QTableWidget自定义键盘功能

如何在 sqlalchemy 中执行 LIKE 查询?

Spark Dataframe 是不是对 DB 应用转换?

python-跨文件的全局变量,该如何是好