1

xcdatamodel を使用して、CoreData データ エンティティに基づいて多数のクラスを定義しています。これはうまく機能しており、Apple の例に従ってそれらを取得できます。

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html

しかし、私が求めているのは、fetch メソッドを別のクラスにパッケージ化する方法ですが、いくつか質問があります...

MyDataAccessClass *mdac = [[MyDataAccessClass alloc] init]; myFetchedData = [mdac fetchData];

Q1. これを行う場合、クラスで NSManagedObjectContext が定義されていても問題ありませんか? または、ビューコントローラーで参照して「MyDataAccessClass」に渡す必要がありますか? Q2. データ モデル内のエンティティ用に XCode によって作成されたクラスにデータ取得メソッドを設定することは、私にとって理にかなっています。これらのクラスは XCode によって自動的に生成されるため、これを実行しようとするたびに自動的に更新されますが、定義したメソッドはすべて上書きされます。

前もって感謝します!

4

1 に答える 1

1

別のクラスで新しい NSManagedObjectContext を作成できる場合があります- appDelegate で既に作成されているため、問題があるかどうかはわかりません。私がしたことは、Q1の第2部であなたが提案したことでした.NSManageObjectContextを別のメソッドクラスに渡すので、次のようなことができます:

myFetchedData = [mdac fetchData:currentNSManagedObjectContext];

于 2011-05-21T18:05:14.667 に答える