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 は正常に動作していることに注意してください。