【发布时间】:2017-01-04 21:18:57
【问题描述】:
每当我保存如下所示的颜色时:
slitherColor = sender.currentTitleColor
let userDefaults3 = NSUserDefaults.standardUserDefaults()
userDefaults3.setValue(slitherColor, forKey: "SSlitherC")
userDefaults3.synchronize()
我收到一个 SIGABRT 错误。当屏幕第一次加载时,这是我用来加载不存在的数据而没有错误的:
let userDefaults3 = NSUserDefaults.standardUserDefaults()
if let slitherColor2 = userDefaults.valueForKey("SSlitherC") {
slitherColor = slitherColor2 as! UIColor
}
else {
slitherColor = UIColor.yellowColor()
}
关于如何修复此错误的任何帮助?另外,这里是 SIGABRT 错误消息:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to insert non-property list object UIDeviceRGBColorSpace 0.0352708 1 0.161752 1 for key SSlitherC'
【问题讨论】:
-
UIColors 不能直接保存到NSUserDefaults。
标签: ios swift xcode nsuserdefaults uicolor