2012-03-30 13 views
0

同じ親エンティティを持つコアデータに4つのエンティティがあります。彼らはほとんど同じプロパティを共有します。同じxibファイルを異なるコアデータエンティティにバインドする方法

これらの4つのエンティティのうちの3つについて、同じxib fie(エンティティプロパティを変更するパネル)を使用する必要があります。残りのパネルは別のパネルを使用しています。ユーザがより多くのエンティティを選択した場合、同じNSTextFieldが、選択されたすべてのエンティティのそれぞれのプロパティを変更するために使用されます。

xibファイル内のオブジェクトを別のエンティティにバインドするには、どうすれば親エンティティにバインドする必要がありますか? (親では私はすべてのプロパティを持っていません)。

xibファイルにテキストフィールドがたくさんあり、プログラムでバインドするとかなりの作業になります。インタフェースビルダーでのバインディングははるかに簡単です。あなたのエンティティを管理するためにIB(NSArrayControllerまたはNSObjectController)におけるコントローラのいくつかの並べ替えを使用している、あなたはあなたのビューコントローラにそのコントローラのコンセントを作成することができると仮定すると

おかげ

答えて

0

は、次に、あなたが行うことができますawakeFromNib方法で:

switch (myChoosenEntity) { 
    case 1: 
    [[self myEntityController] setEntityName: @"MyFirstEntity"]; 
    break; 
    case 2: 
    [[self myEntityController] setEntityName: @"MySecondEntity"]; 
    break; 
    default: 
    break 
} 

エンティティコントローラは、お好みのエンティティを使用するように設定されます。この方法でも、IBでバインディングを作成することができます。唯一の欠点は、実際のエンティティが実行時にのみ決定されるため、IBがバインド可能な属性を表示できないことです。

関連する問題