我正在还原应用程序的状态,并使用Xcode 10.1中的NSCoder存储了一些变量。 NSCoder非常适合存储字符串和其他变量类型,但不允许我存储Doubles。我尝试了无数场景,但似乎不喜欢Doubles!
如果我将double转换为字符串,它将起作用。我尝试过Double”,这仍然返回nil。为什么我不能使用Double?
override func encodeRestorableState(with coder: NSCoder) {
...
// Both don't work:
coder.encode(myDoubleVariable, forKey: "Length")
coder.encode(1.2345252, forKey: "Length")
}
override func decodeRestorableState(with coder: NSCoder) {
...
// Both don't work:
myDoubleVariable = coder.decodeObject(forKey: "Length")
myDoubleVariable = coder.decodeDouble(forKey: "Length")
}