いままではこんなふう required init?(coder aDecoder: NSCoder)に書いていた。
guard let id = aDecoder.decodeObject(forKey: "id") as? Int else { // なんかする return }
Swift3 & Xcode8環境下では、idにずっとnilが返ってきて、デシリアライズができなくて困っていたらこうすればよかった。
let id = aDecoder.decodeInteger(forKey: "id")
ただこの方法だとdecodeに失敗した際に常に0が返ってくる。違う書き方があるのだろうか……。