「CarEntity」と「PassengerEntity」の 2 つのエンティティを持つコアデータがあります。
現在、各エンティティには「name」という属性があります。CarEntity は、'passengers' と呼ばれる 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 にオブジェクトがあります。
問題は、ポップアップ ボタンの値を取得して、この挿入コードに送信するにはどうすればよいかということです。
ありがとう!