1

在我正在进行的一个项目中,我让用户选择一种颜色,该颜色将用作某个视图的背景。他们可以选择任何主要颜色(例如“redColor”/“blueColor”)或创建具有自定义 RGB 值的颜色。当他们选择一种颜色时,它会将其存储到“以前使用的颜色”的数组中,以便他们以后想要重新使用它时可以轻松地再次选择它。

现在一切正常,我正在使用以下方法将颜色存储到 NSUserDefaults 中:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:colorArray];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"colors"];

这完美地工作,但是每当我存储带有图案的颜色(例如 underPageBackgroundColor)时,我都会收到警告:

we're encoding a color that has a pattern selector (underPageBackgroundColor) but not a system color name - that shouldn't happen

它并没有阻止它工作,它仍然存储颜色,我可以稍后检索它。我应该担心这个错误并将图案颜色存储为字符串,还是应该忽略它,因为它似乎不会导致任何故障?

另外,有人知道这个警告的原因吗?它似乎不是由任何未按预期工作引起的。

4

0 回答 0