2016-11-06 7 views
6

重複ファイルを警告するようなエラーが表示されています。何か不足しているか、Xcodeはコアデータを操作するためにnsmanagedサブクラスを作成する必要はありません。私は空のプロジェクトを作成しようとしたが、同じことが起こる。ここにエラーデータがありますXcode 8.2ベータ版でNSManaged Subclassを作成するとエラーが発生する

<unknown>:0: error: filename "Card+CoreDataClass.swift" used twice: '/Users/user/Documents/Developer/coredata/Card+CoreDataClass.swift' and '/Users/user/Library/Developer/Xcode/DerivedData/coredata-gicbdltjgiidbcfxaqqaxvkqwnnk/Build/Intermediates/coredata.build/Debug-iphonesimulator/coredata.build/DerivedSources/CoreDataGenerated/coredata/Card+CoreDataClass.swift' 
<unknown>:0: note: filenames are used to distinguish private declarations with the same name 
<unknown>:0: error: filename "Card+CoreDataProperties.swift" used twice: '/Users/user/Documents/Developer/coredata/Card+CoreDataProperties.swift' and '/Users/user/Library/Developer/Xcode/DerivedData/coredata-gicbdltjgiidbcfxaqqaxvkqwnnk/Build/Intermediates/coredata.build/Debug-iphonesimulator/coredata.build/DerivedSources/CoreDataGenerated/coredata/Card+CoreDataProperties.swift' 
<unknown>:0: note: filenames are used to distinguish private declarations with the same name 
Command /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

これは、ファイルがすでに自動的に作成されていることを示しています。サブクラスを手動で作成せずにCardオブジェクトを作成することもできます。ありがとう。

+1

チェック:http://stackoverflow.com/a/40357746/1457385、多分http://stackoverflow.com/a/39933534/1457385 – shallowThought

+0

私は両方をチェックしてみましたが、まだエラーがあります。私は今、サブクラスを生成せずにアプリを作ったし、それは動作します。だから私は彼らがcoredataのサブクラスを自動的に実装していると思っていますか? – user3739902

+0

設定に応じて。それは、上記の答えで詳しく説明されています。 WWDCのビデオ「コアデータの新機能」もご覧ください:https://developer.apple.com/videos/play/wwdc2016/242/ – shallowThought

答えて

7

Xcode 8以降、Core Dataと新しいCore Dataデータモデルを使用する新しいプロジェクトは、デフォルトで自動コード生成を使用するように設定されています。つまり、コアデータエンティティのコードを明示的に生成する必要がなくなり、Xcodeがそれを処理します。 に自動コード生成を残しておくと、エンティティのSwiftクラスも生成できます。このようなエラーが表示されます。

エンティティインスペクタでエンティティの自動コード生成を無効にすることも、手動で生成されたコードをプロジェクトから削除することもできます。 2人のどちらかがこれを修正する必要があります。

1

Xcode>環境設定>場所>小さな灰色の矢印>ゴミ箱にコンテンツを移動して、派生データを消去してみてください。その後、プロジェクトをクリーンアップして再構築します。

+0

お返事ありがとうございます、それは問題を解決しない、それはまだ同じエラーを生成します。 – user3739902

+0

プロジェクトのビルドフェーズに移動した場合、コンパイルされたソースの下にファイルが2回リストされていますか? – Aaron

+0

いいえ、一度だけ。しかし、奇妙なことは、サブクラスを作成しなくても、私のCardオブジェクトをインスタンス化できるということです。 – user3739902

1

このファイルCard+CoreDataPropertiesを2回インポートしていないことをプロジェクトで最初に確認し、プロジェクト全体でこのクラスCard+CoreDataPropertiesを2回作成していないことを確認し、派生データを削除してプロジェクトをクリーンアップします。

+0

それでも、うまくいきませんでした。 – user3739902

関連する問題