0

全て。

エンティティ:

[Library {title}] <-->> [Book {title}] <<-->> [Author {name}]

コントローラー:

NSArrayController [Library] => {Entity: Library}
NSArrayController [Book] => {Entity: Book, ContentSet: Library, books}
NSArrayController [Author] => {Entity: Author, ContentSet: Book, authors}
NSArrayController [Authors] => {Entity: Author}

形:

[ NSPopUpButton *]
[ NSTableView **]
[ add ] [ remove ]

* NSArrayController からコンテンツを取得するボタン [Contentset オプションなしの作成者]

** テーブルは別の NSArrayController からコンテンツを取得します [Contentset オプションを Library.books として設定した作成者]

質問:

Author エンティティから Book.authors に Author を追加するにはどうすればよいですか? (どの本にも以前の著者を使用してください)

4

1 に答える 1

0

1)PopUpButtonプロパティを設定します

   {
     Content: NSArrayController [Authors], ArrangedObjects
     Content Values: NSArrayController [Authors], ArrangedObjects, name
     Selected Index: NSArrayController [Authors], selectionIndex
   }

2)追加

@property (assign) IBOutlet *authorsController, *bookController; 

NSArrayControllersとリンクします

3)このコードを追加し、ボタンでリンクします。

- (IBAction)insertSelectedItem:(id)sender
{
    MOAuthor *author = self.authorsController.content[self.authorsController.selectionIndex]; // get current (selected) author

    MOBook *book = self.bookController.content[self.bookController.selectionIndex]; // get current guide

    [book addAuthorsObject:author]; // add step into guide

    NSError *err = nil;

    [book.managedObjectContext save:&err]; // save all
}

MOBook、MOAuthor-エンティティから作成されたManagedObjectクラス

于 2012-10-18T08:11:16.617 に答える