2011-10-25 15 views
2

Xcode 3のプロジェクトがあるので、Xcode 4と互換性があるように変換プロセスを進めています。このプロジェクト内では、すべてのNSManagedObjectサブクラスが ".xcdatamodeld"という名前のグループ内にあります。Xcode 4:NSManagedObjectのサブクラスを置換する

データモデル内のエンティティを新しい属性で更新する場合、その属性のメソッドをエンティティのNSManagedObjectサブクラスで使用できるようにします。

Xcode 3では、再生成したいエンティティを選択し、「ファイル」 - >「新規」を選択します。これは.xcdatamodeldグループの適切なクラスを置き換えます。

Xcode 4では、生成されたNSManagedObjectサブクラスがその.xcdatamodeldグループ以外のどこにも移動することを除いて、同じプロセスです。また、このグループからファイルを削除することはできません。理由を示すエラーメッセージや通知はありません。私はdeleteキーを押しても何もしません。

私が使用する回避策は、Finder(またはTerminal)に行き、古いクラスを削除し、新しく生成したクラスを.xcdatamodeldディレクトリに移動することです。私が逃している、あるいは何か新しいパラダイムはありますか?回避策は不必要に退屈なようです。

答えて

2

"それの下にNSManagedObjectサブクラスファイルを含むxcdatamodeldグループ" paradigmがXcode 4で削除されているようです.Xcode 4で動作する方法は、データモデルがファイルノードとして存在し、NSManagedObjectサブクラスプロジェクトの異なるグループにすべて住むこと。

  1. プロジェクトからのデータモデルへの参照を(のみ参照)削除:私は私のXcode 3プロジェクトへの更新を完了するためにやったことはこれでした。

  2. ターミナルに移動し、.xcdatamodeld ディレクトリの下にあったすべてのNSManagedObjectサブクラスファイルをソースディレクトリ下の新しいディレクトリに移動します。 Finderはディレクトリへのアクセスを妨げるようですが、Terminalはそうしません。

  3. 「プロジェクトに既存のファイルを追加」メニュー項目にプロジェクトにデータモデルを追加します。

  4. NSManagedObjectサブクラスファイルをプロジェクトに追加します。