Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uitableview 设置accessoryType并保存它_Uitableview_Swift_Xcode6_Uitableviewrowaction - Fatal编程技术网

Uitableview 设置accessoryType并保存它

Uitableview 设置accessoryType并保存它,uitableview,swift,xcode6,uitableviewrowaction,Uitableview,Swift,Xcode6,Uitableviewrowaction,我想在按下UITableViewRowActionButton的UITableViewCell中显示accessoryType。如果应用程序重新启动,也应显示accessoryType。所以我想我必须储存一些东西。有人知道怎么做吗?您需要了解表视图是如何工作的。它们有一个数据源,根据数据模型的保存状态配置单元格 您应该做的是设置数据模型,以保存用户已按下单元格按钮的事实。将该信息保存到文件中,并在应用程序启动时加载 设置cellForRowAtIndexPath以查看该行保存的信息,并在保存的信

我想在按下UITableViewRowActionButton的UITableViewCell中显示accessoryType。如果应用程序重新启动,也应显示accessoryType。所以我想我必须储存一些东西。有人知道怎么做吗?

您需要了解表视图是如何工作的。它们有一个数据源,根据数据模型的保存状态配置单元格

您应该做的是设置数据模型,以保存用户已按下单元格按钮的事实。将该信息保存到文件中,并在应用程序启动时加载

设置cellForRowAtIndexPath以查看该行保存的信息,并在保存的信息显示用户点击了行操作按钮的单元格中显示附件


在行操作按钮的iAction方法中,您可以简单地设置“用户已单击此行的行操作按钮”标志,并告诉表视图重新加载该行。然后,您的cellForRowAtIndexPath将重新加载带有附件的单元格。

我总是使用“NSUserDefaults.standardUserDefaults”保存单元格的状态。在“cellForRowAtIndexPath”中,只需检查键是否设置为true或false,就可以了。请记住,如果重复使用单元格,这将不起作用。在这种情况下,解决方案有点棘手,但我想你要求的是单个电池,对吗?谢谢你的回答。我如何处理UITableViewCell的删除?使用tableView函数“EditActionsforrowatineXPath”,我建议您搜索Stackoverflow如何实现……关于这一点有很多问题和答案。我知道如何删除UITableViewCell,但如何处理NSUserDefaults?我不需要删除/设置bool为false吗?您只需测试该键是否为“nil”。否则,您可以像您所说的那样,只需使用NSUserDefaults中的“boolforky”并将其设置为true或false。有很多方法可以实现你想做的事情。