| categories:swift develop

クラスが読み込めず [解決]

もう、わざわざ動いている物をSwiftに移行するのも止めてしまおうか。どうせならAndroidに移植する方がまだよいか、、と思ってしまうほどでしたが、クラスが読み込めずで書いた問題が解決しました。

問題のエラーログ

CoreData: warning: 
Unable to load class named 'Item' for entity 'Item'.  
Class not found, using default NSManagedObject instead.

もしかしたらXcode6.2では問題でなくなっているかもしれませんが、とりあえず解決方法は以下。

Class unload1

  1. xcdatamodeldファイルを選択
  2. CONFIGURATIONSを選択
  3. 右に出てくるEntitiies以下のClass名をディレクトリー名.Entity名にする

Class unload2

※ 注意点は上記の場合kitchen.Itemでは無くtapas.Itemと、xcdatamodeld名では無く、ディレクトリ名を入れる事。見事にハマりました。
(散歩中に「もしや、ディレクトリー名では。。」と閃きました。なんでわざわざkitchen.xcdatamodeldという名前にしているのかは、自分で作ったのに不明。なんで余計な事をする?と自分に問い詰めたい。。)

うまく行かない場合

  1. キャッシュをクリアーする
  2. DerivedDataのデーターを消す
  3. 新しいプロジェクトを作って、Modelを移行して試す

※ 使っていたプロジェクトのままで動いた場合と(tapas)、キャッシュやDerivedDataのデーターを抜いてもうまく行かず、新しいプロジェクトを作り直してうまく行く場合がありました(ohaYo)。

蛇足:ネットでぱっと見て試すもうまく行かず、後で読み返すとその注意点が書いてあったりします。 小学校の通信簿に「少し聞いただけで、全部理解したと思ってしまうところがあります。もう少しじっくりと。(やれどーだこーだ)。」書いてあった事をふと思い出す。

comments powered by Disqus