NSValue 不是 NSObject 吗?那我为什么要崩溃
var coordinatesRawData = NSValue(MKCoordinate: coordinates.first!)
if coordinatesRawData != nil {
// Crashing here. I have a valid NSValue object
aCoder.encodeObject(coordinatesRawData, forKey: "coordinatesRawData")
}
错误日志
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedArchiver encodeValueOfObjCType:at:]: this archiver cannot encode structs'
但如果我这样做
var coordinatesRawData = NSValue()
aCoder.encodeObject(coordinatesRawData, forKey: "coordinatesRawData")
没有崩溃 - 两者都是 NSValues .. 对吗?
请注意,我所有其他 NSCoding / Decoding 工作正常。