我做了一些研究,但对如何解决这个问题有点困惑。我有一个tableview,其单元格中有一个按钮。当用户单击该按钮时,单元格的背景会发生变化。现在我要保存背景颜色,这样当用户启动应用程序时,它们就是他们选择的颜色。我认为最好的方法是使用nsuserdefaults但不是100%肯定。如果是这样的话,我为此设置了字典?如果有人能引导我朝着正确的方向前进,我将不胜感激。
答案 0 :(得分:0)
首先要做的是将颜色保存在数据模型中,因为否则一旦用户滚动并重复使用单元格,颜色就会变得混乱。必须重写cellForRowAtIndexPath:
,以便为要求的每个单元格指定正确的背景颜色。
要做的第二件事是考虑如何保存颜色。例如,如果它只是两种已知颜色之间的选择,那么您可以将其保存为数字。但如果它可以是任何颜色,那么当然你需要一个实际的颜色值。
最后,是的,您可以将数据模型或其任何部分保存在用户默认值中。但是,在将其存档为NSData(不是很难)之前,无法将颜色保存在用户默认值中。