2012-01-16 5 views
1

私はCocoaとxCodeを初めて使っていますが、プログラミングはしていません。Xcode /ココアのコードからコアデータを設定して取得する

インタフェースビルダーにいくつかのコアデータとインタフェースを作成しました。

私のコードからコアデータを編集して取得する必要があります。実際には、画像を表示し、 "画像パス"に新しい値を設定するために "画像パス"を取得する必要があります。 "imapepath"はコアデータ属性です。

に挿入する方法を考えましたが、の代わりにに値を編集します。

NSManagedObjectContext *context = [self managedObjectContext]; 
    NSManagedObject *places = [NSEntityDescription 
            insertNewObjectForEntityForName:@"Place" 
            inManagedObjectContext:context]; 
    [places setValue:[tvarNSOpenPanelObj filename] forKey:@"imagepath"]; 

私はあなたがCoreDataからあなたNSManagedObjectをロードした場合、あなたはそれだけで、他のオブジェクトのような値です編集することができます

答えて

0

;-)あなたたちはいくつかの手がかりを持っている願っています。これはあなたのNSManagedObjectContext(つまり、メモリ内に)に格納されています。

これをバックストアに残しておく必要があります。そのため、NSManagedObjectContextでsave:を呼び出す必要があります。その結果、保存されます。

あなたはコアデータのプログラミング・ガイドをお読みください: http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/coredata/cdProgrammingGuide.html#//apple_ref/doc/uid/TP30001200-SW1

(あなたがコアデータからオブジェクトをロードする方法がわからない場合は、「フェッチ管理対象オブジェクト」に関するセクションを読み、[「を使用それらを編集する方法を知るためのマネージドオブジェクト)....実際、最初から最後まですべてを読んでください。 CoreDataを正確かつ効果的に使用する方法を知っていることは非常に貴重です。

+0

ありがとう、たくさんの読書がありますが、それは正しいことだと思っています;-) –

+0

OK、読んでいて、理解が難しいと思っています。多分英語がリフレッシュされる必要があります.-とにかく私はまだそれを始めることができません - 多分あなたは私に少しヒント/ヒントを与えることができます?デルファイとデータベース/ SQLプログラミングと比較して、これはかなり異なっています: -/ –

+0

Ok、最も単純な例....コアデータからオブジェクトを取得したい場合は、NSFetchRequestを作成します。これは、エンティティ(例ではPlace)と述語(where句)を設定してから、マネージオブジェクトのexecuteFetchRequest:を呼び出しますコンテクストを作成し、探しているオブジェクトを返します。次に、そのプロパティを編集して管理対象オブジェクトコンテキスト(メモリ内)で変更し、マネージオブジェクトコンテキストでsave:を呼び出してディスクに書き込みます。 – bandejapaisa

関連する問題