gpt4 book ai didi

ios - 如何在不使用 commitEditingStyle 的情况下删除自定义 UITableViewCell?

转载 作者:行者123 更新时间:2023-11-29 13:45:32 25 4
gpt4 key购买 nike

我有一个自定义的 UITableViewCell,上面始终有一个删除按钮。

当按下删除按钮时,当前的设计是闪现一个警告,用是/否确认删除。

到目前为止,所有这些都有效。

问题是,实际上按下"is"不会更新 UITableView。它将从模型中删除数据,但该行仍会存在。

[table beginUpdates];

//modify model code goes here

[table deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];

[table endUpdates];

[table reloadData];

所以上面的代码会更新模型,但不会更新 View 。我可以看出模型正在更新,因为:

(A) 再次尝试删除同一个单元格会导致崩溃

(B) 移动到另一个屏幕并返回导致单元格被删除

我想要 (B) 的结果而不必离开屏幕。

我不想使用 commitEditingSyle 除非有办法在用户不知道他们正在编辑的情况下执行此操作。我当然不想要标准的删除按钮或滑动删除功能。

最佳答案

据我了解,您删除了您的模型。
在情况 B 中, View 将再次出现,这会重新加载您的数据并构建 UITableView。

当您删除模型时,是否将其从集合中删除?
我想不是。您的应用程序将使用相同的数据重建 View (当您重新加载数据时,您的模型不会从内存中删除)。

您的流程应如下所示:

View loads/appears
Load Data
Load table

Model Delete Action
Delete Data
(Re)Load Data
Load table

我不确定,但我想你忘记重新加载数据了。

另一个提示:
您应该使用幻灯片删除。 它是人机界面指南 (HIG) 中定义的标准

关于ios - 如何在不使用 commitEditingStyle 的情况下删除自定义 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com