2

私のアプリでは、AppDelegateによって作成されたManagedObjectContextを別のクラス(myClass)で使用したいと思います。このために、私は最初にMyClassにインスタンス変数を作成してobjectContextを格納しました。

NSManagedObjectContext *managedObjectContext;

また、@propertyを使用してgetterとsetterを定義しました。インスタンス変数を設定するために、初期化後にAppDelegateのmanagedObjectコンテキストを割り当てました。

-(void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
   myClass *myClassInstance = [[myClass alloc]init];
   [myClassInstance setManagedObjectContext:[self managedObjectContext]];
}

これで、アプリを実行すると、次のようになります。

-[NSManagedObjectContext copyWithZone:]: unrecognized selector sent to instance 0x100634c90

正直なところ、どうしたらいいのかよくわかりません。誰かが私を助けることができますか?

4

1 に答える 1

2

「copy」属性で管理オブジェクトコンテキストの @property を宣言しているようです。次のように宣言する必要があります

@property(strong, nonatomic) NSManagedObjectContext *managedObjectContext;

管理対象オブジェクトのコンテキストはコピーできませんが、コピーしても意味がありません。(独立した)コピーではなく、クラスで同じコンテキストを使用したい。

于 2013-01-23T18:52:11.903 に答える