私は2つのエンティティ(CarEntityとPassengerEntity)を持つコアデータを持っています。ポップアップボタンからのCocoaコアデータプロジェクト関係の挿入
ここで、各エンティティには「名前」という属性があります。 CarEntityは「乗客」と呼ばれるPassengerEntityと多対多の関係を持ち、PassengerEntityは逆の関係「inCar」を持ちます。
私はこのインターフェースを使って新しい乗客を挿入しました。
人の名前のNSTextFieldと、車を選択するNSPopUpButtonが1つあります。 ポップアップボタンにはNSControllerArrayにバインディングされた "コンテンツ値"があり、すべての車を取得できます。
私はすべてを保存するボタンが1つあります。ヘッダコードは次のようになります:
IBOutlet NSTextField *newPassengerNameField;
IBOutlet NSPopUpButton *newPersonCarField;
と実装はこのように書き:
- (IBAction)saveNewPassenger:(id)sender {
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSManagedObject *newPassengerObject = [
NSEntityDescription
insertNewObjectForEntityForName:@"PassengerEntity"
inManagedObjectContext:managedObjectContext
];
//Here we have all the fields to be inserted.
[newPassengerObject setValue:[newPassengerNameField stringValue] forKey:@"name"];
//Car ?????
}
さて、このコードは、名前のために...だけで正常に動作します。しかし、私は車の関係を挿入する方法を把握することはできません。
私のアプリケーションでは、この段階に入る前に車を作成しなければならないので、CarEntityにオブジェクトがあります。
質問:私はどのようにポップアップボタンの値を取得し、この挿入コードに送信するのですか?
ありがとうございます!