2016-09-28 8 views
0

一般にXcodeには多くの問題がありましたが、これはすべてのプロジェクトで発生し始めました。コアデータが正しく 'NSManagedObjectサブクラスを作成できません' Swift

私は新しいエンティティを作成しました。私のコアデータモデルは正しい 'Target Membership'を選択しています。

しかし、私は私の新しいエンティティの「NSManagedObjectサブクラスを作成」を選択してみてくださいたら、ウィザードが正常に必要なすべての手順を、私を取り、私は次のように生成スウィフトコードを取得:しかし

import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 


import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 

を...私はlet data = DoreDatGeneric()

、例えば

...

を私のコードでCoreDatGeneric ANYWHEREという名前のこの新しいスウィフトクラスを使用することはできませんUse of unresolved identifier 'CoreDatGeneric'

は、私は、これは突然のすべてが起こっている理由は分からない旨のコンパイラエラーでの

結果は、すべて私の他の古いコアデータのエンティティはうまく動作しますが、私はできないの時点でこだわっています私のプロジェクトでコアデータを使用しなくてはなりません。

最新のXcodeが受け取った否定的なレビューのため、Xcode 8へのアップグレードが心配です。私はXcode 7を使っています。

+0

'CoreDatGeneric.swift'はXcodeのアプリターゲットに属していますか?また、クラス名のスペルを確かめていますか?あなたはあなたの質問でそれを間違って書きました.... –

答えて

0

データモデルインスペクタパネルに移動し、[Codegen]を[Manual/None]に設定します。エディタの下に管理されたサブクラスを作成します。 Xcodeは2つの迅速なファイルを作成します。 1つは* Properties.swiftで、モデルのすべてのプロパティが含まれている拡張ファイルです(サブクラスを作成したあと、このファイルを上書きします)。もう1つは、カスタムクラス動作を追加できる* Class.swiftです。コードを記述することなく、ViewControllerで

let data = CoreDatGeneric() 

を呼び出すことができます。

Codegenが 'クラス定義'と言う場合、プロジェクトをビルドするときにクラスが作成されるため(プロジェクトインスペクタでファイルが表示されないため)、マネージサブクラスの作成は不要です。しかし、上記のようにviewController(例えば)に変数を作成することはできます。

関連する問題