2011-02-07 11 views
0

ナビゲーションベースのプロジェクトを作成し、 "コアデータを使用する"チェックボックスをチェックしました。私は、RootViewControllerから新しいオブジェクトを挿入することができます。私は2番目のViewController(SecondViewController)を取得して、テキストフィールドからコアデータにデータを追加しようとしていますが、これを行う方法が見つからないようです。iOS開発:2番目のViewControllerからコアデータにアクセス

RootViewControllerからSecondViewControllerに関連するコード(プロジェクト作成時にXcodeによって生成されたコアデータコード)を追加しようとしましたが、アプリケーションが「キャッチされていない例外」NSInternalInconsistencyExceptionによって終了しました。エンティティ名「Event」のNSManagedObjectModel。ここで、「Event」は、プロジェクトの作成時にシステムによって生成されたエンティティです。

コードは、[コアデータを使用]チェックボックスをオンにして、新しいナビゲーションベースのプロジェクトを作成することとほぼ同じです。唯一の違いは、 "+"ボタンを押すと、1つのテキストフィールドと1つのボタンで別のViewControllerに移動することです。そのボタンを押すと、データを作成する必要があります。

私はコードをアップロードすることができましたが、 "コアデータを使用する"をチェックすると、多くのコードが生成されます。おそらくプロジェクトを生成する方が簡単でしょう。

どのように私はこれを解決する可能性のあるアイデア?あらかじめ、ありがとう! :-)

+0

いくつかのコードを見る必要があります! 「関連コード」とはどういう意味ですか? – deanWombourne

+0

あなたは2つのコントローラ間で同じmanagedObjectContextを使用していますか? –

答えて

1

NSManagedObjectContextをSecondViewControllerに渡すだけです。メインスレッドで挿入/削除/更新を行うことを忘れないでください。そうでなければスレッドとコアデータを処理する方法を見てください。http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdConcurrency.html%23//apple_ref/doc/uid/TP40003385-SW1

+1

それをNSFetchedResultsControllerとともに渡して、それがうまくいった。ありがとう!それを感謝します! :-) – patrick

関連する問題