0

controller1によってモーダルに作成されたビューを編集するモーダルコントローラーcontroller2があります。モーダルコントローラー2はストーリーボードで構成されていますが、次のようにviewdidloadの次のコードでコントローラー1から起動されます。

UIBarButtonItem *editButton = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Edit"
                                   style:UIBarButtonItemStylePlain
                                   target:self
                                   action:
                                   //next line calls method editView
                                   @selector(editView:)];
    self.navigationItem.rightBarButtonItem = editButton;

変更を保存した後にコントローラー2を閉じると、管理対象オブジェクトコンテキストの変更がコントローラー1に引き継がれます。

SO のいくつかの例では、次の使用を提案しています。

[controllerTarget setManagedObjectContext:[self managedObjectContext]];

これは、閉じる直前に controller2 に入ります。

ただし、これを実行しようとすると、コントローラー 1 をインスタンス化する必要があることを示唆する "No Known Class Method" というエラーが表示されます。既にナビゲーション スタックにある controller1 のインスタンスに managedobjectcontext を渡したい。

これを機能させる方法についての提案をいただければ幸いです。

ありがとうございました。

4

1 に答える 1

0

管理オブジェクト コンテキストのプロパティを controller1 に保存し、終了セグエを使用して controller2 の状態を返し、それを使用して controller1 に保存されている管理オブジェクト コンテキストをインスタンス化しようとしましたか。動作するはずです。

于 2016-01-25T05:24:33.673 に答える