目标 c - "Unrecognized Selector" - 将 AppDelegate 的 NSManagedObjectContext 导入其他类时出错 (OSX)



在我的应用程序中,我想在另一个类(myClass)中使用由AppDelegate创建的ManagedObjectContext。为此,我首先在MyClass中创建了一个实例变量来存储objectContext:

NSManagedObjectContext *managedObjectContext;

我还用@property定义了吸气剂和二传手。为了设置实例变量,我在初始化它后为其分配了 AppDelegate 的托管对象上下文:

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

现在,当我运行应用程序时,我得到以下内容:

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

老实说,我真的不知道该怎么办。有人可以帮助我吗?

您似乎已经使用"copy"属性声明了托管对象上下文的@property。您应该将其声明为

@property(strong, nonatomic) NSManagedObjectContext *managedObjectContext;

托管对象上下文无法复制,但它也毫无意义。您希望在类中使用相同的上下文,而不是(独立)副本。

最新更新