さまり
Jump Right In でNSCodingを初期化する時に required と convenience を使って初期化している意図がわからなかったので調べた話
NSCodingの初期化について
公式のリファレンス https://developer.apple.com/reference/foundation/nscoding/1416145-init
init(coder:) Required. Returns an object initialized from data in a given unarchiver.
NSCodingのinitの実装箇所にジャンプしても require 修飾子はついていなかったものの、公式リファレンスには、require が必須と書いてあった。
NSCoding は2つのメソッドの宣言を必要とする
encode(aCoder: NSCoder)→ KVOで値を保存(Archive)するinit(aDecoder: NSCoder)→ KVOで保存した値を解凍(UnArchive)する
上の2つのメソッドを宣言することでモデル層でKey Value Object形式であたりをアプリ内に保存します。