質問

私は私のCoreDataアプリでいくつかの属性を持つエンティティを作成しました。テーブルビューとバインドNSArrayControllerはを想像してみてください。私が作成(および編集)私の実体「インスタンス」の両方を持ちます。私の質問は、私は私のコードにこれらの属性の値を得ることができる方法です。多くの質問がある場合: http://twitter.com/xP_abloする

役に立ちましたか?

解決

あなたは何とかNSArrayControllerはへの参照を取得する必要があります。あなたはNIB自分をロードしている場合は、ニブ「ファイルの所有者」として設定されているクラスにIBOutletインスタンスを追加することができます。あなたはペン先をロードするときは、所有者としてNIBの「ファイルの所有者」クラスのインスタンスを提供します。あなたは(すなわち、それはあなたのアプリケーションのMaineMenuペン先/ XIBとココアで自動的にロードされます)NIB自分をロードしていない場合は、ペン先に独自のクラスのインスタンスを作成し、そのインスタンスにIBOutletを追加します。あなたはこのようなあなたのクラスでIBOutletを作成します:

@interface MyClass : NSObject { //of course your class doesn't have to be a direct descendent of NSObject
    IBOutlet NSArrayController *arrayController;
}

@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;

...

@end

@implementation
@synthesize arrayController;

- (void)dealloc {
    [arrayController release];
    [super dealloc];
}
@end

NSArrayControllerはにあなたのクラスでIBOutletを接続NSArrayControllerはするとドラッグ(最初のケースでは、ファイルの所有者または上記第2のケースで、あなたのクラスのインスタンスでcontrollクリックします)。マウスを離すと、あなたは、ドラッグソースでIBOutletsのポップアップを取得します。 IBOutletを選択します(上記の例では、例えば「arrayController」)を作成します。

ペン先がロードされているワン(awakeFromNibはあなたのクラスで呼び出された後、すなわち)、あなたはコンセントを経由してarrayControllerにアクセスすることができます:

NSArray *content = [[self arrayController] arrangedObjects];

、あなたは今、あなたは配列の値を喜ば何ことができます。

他のヒント

私はこの正しいを持っている場合は、あなたがあなたのデータにバインドされているNSArrayControllerはと結合した、テーブルビューを持っています。

簡単な方法:(通常はファイルの所有者)あなたのクラスでIBOutletを作成し、Interface BuilderでNSArrayControllerはこのIBOutletを接続します。その後、この配列から、必要な値を得ることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top