【Swift 3】CoreDataを使うときに「’Entity’ is ambiguous for type lookup in this context 」というエラーが出たとき

どうも。Reoです。

再びCoreDataでやりたいことができたので、新しいプロジェクトを作って、ついでに自分のブログが正しいのかチェックしながらやろう〜〜ってことで「【Swift 3】CoreDataを使ってみた【part1】」の通りにやり始めて数分・・・

案の定エラーが出た〜〜〜〜〜〜〜!

 

 

‘Entity名’ is ambiguous for type lookup in this context

っていうエラーです。

よくわからんがstack overflowで見つけて解決
XCode 8 generates broken NSManagedObject subclasses for iOS 10

 

英語なのでこちらでも書いておきまする。

 

Entity(この画像だとPerson)を選択して、右側のInspectorのClassのところにあるCodegenを「Manual/None」に変更します。(Class Definitionだとエラーが出ました。)

そいで「Editor」 > 「Create NSManagedObject subclass」をやりなおせばおkです。

 

簡単だけど、記事の不備といえば不備なので申し訳ない・・・!

以前の記事からもリンクしておきます。

記事本体に追記という形でもよかったんですが、ゴチャゴチャして見づらくなりそうだったのでこちらで失礼しました。

 

またしばらくはCoreDataの記事が多めになるかもです。ではでは。

2018/04/13追記
Swift4でもこれ必須っぽいですね〜
先ほど記事チェックしてる時に同じエラー出ました。

Manual/Noneにしておくとエラー出ませんでした〜。
Swift ,

Comments...

コメントは認証制です。詳しくは下記の注意をお読みください。お気軽にコメントお願いします!

Write a Comment

コメント時の注意

「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。

Related Memo...

UITableView.RowAnimation の .none はアニメーションするよ

UITableView.RowAnimation の .none はアニメーションがnoneなわけじゃなく、デフォルトの設定を使うよという意味らしい。

The inserted or deleted rows use the default animations.

なのでアニメーションしちゃう。今更の気づき。

 

iOS

UINavigationController + UIScrollView の組み合わせで使っている時に謎の余白ができる時

UINavigationController + UIScrollView の組み合わせで使っていて、UIScrollView 上に AutoLayout で上下左右0で View を設置しているのに、30px程度上にずれてしまうとき。

`navigationController.navigationBar.isTranslucent = false` にすると直るかもしれない。

ScrollView上のコンテンツとNavigationBarの重なっているところが透過していたら多分これで直せるはず。

通常のターゲットではちゃんと動いているのに、iOSSnapshotTestCase を用いたテストでだけこの対応が必要なのよくわからないけれど。。。

iOS

記事を書くほどでもないけれどメモっておきたいこと

テスト投稿。

例えばiphone7 の画面サイズ

750 × 1334
半分375 × 667

iOS
more