我需要你的帮助,也许是傻事,但我找不到错误。
我有一个表格视图和一个添加按钮,当它点击时我会显示一个带有小形式的模态视图,当按下保存按钮时我将数据发送到TableView
控制器以显示它,我也在使用{ {1}}将此数据保存在数组中。
我的问题出现了,例如,当我添加2个新行并删除其中1个时,然后当我添加另一个时,它显示我删除的最后一行而不是显示我刚添加的那一行。
我正在以这种方式进行保存和阅读:
<{1>}NSUserDefaults
我读了viewDidAppear
并获取数据(如果存在)。
在从NSUserDefaults
我保存到userdefaults的ModalView
中捕获数据的方法中。
在commitEditing
方法中,我读取了userdefaults,然后从数组和表中删除该行,然后将此更改保存在userdefaults中。
我不知道我做错了什么,有人可以帮我吗?
答案 0 :(得分:0)
在该班级的[self.tableView reloadData];
中使用viewWillAppear
。您还可以在另一个视图控制器中引用该类,为其创建一个对象并调用[classObject.tableView reloadData];
请务必记住在添加操作或删除操作后重新加载tableView
。
答案 1 :(得分:0)
不要使用NSUserDefaults充当表的直接数据源。将其存储在中间模型中。以这种方式调试会更容易。
如果您在保持模型与用户默认值同步时遇到问题,请在更改时调用[[NSUserDefaults standardUserDefaults] synchronize]
。
另外,请确保您的表格单元重用不会出错。如果您有客户UITableViewCell类并且未正确实现-prepareForReuse
,则可能会看到旧数据。