CoreDataを使用していて、モデルを更新した後、サブクラスを更新し忘れた時にはまったエラー
同じようなミスをする方はいないと思うので、自分用のメモです。
CoreDataを使用していて、データベースに値を代入する箇所で以下のエラーが出ていました。
CoreDataのモデル定義において、TypeをUndefinedとしているattributeにInt型の値を代入しようとした時にエラーが発生します。
Cannot assign value of type 'Int' to type 'NSObject?
エラーの文面からモデル定義が間違っていそうなことは分かったため、attributeを見返してたのですが、Int型になっており問題なかったため、はまってしまいました。
結論は、モデルを更新する際に、CreateNSManaged SubClassを実施していなかったことが原因でした。
はまった経緯
- モデルを仮で一旦作成(Typeはundefinedのままにしていた)
- 後にモデルのTypeをUndefined→Intに更新
- CreateNSManaged SubClassを実施し忘れたままコーディング
- エラー発生
