【问题标题】:"Unrecognized Selector"-Error when importing NSManagedObjectContext of AppDelegate into other classes (OSX)“无法识别的选择器”-将 AppDelegate 的 NSManagedObjectContext 导入其他类 (OSX) 时出错
【发布时间】:2013-01-23 18:38:46
【问题描述】:

在我的应用程序中,我想在另一个类 (myClass) 中使用由 AppDelegate 创建的 ManagedObjectContext。为此,我首先在 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

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

【问题讨论】:

    标签: objective-c xcode core-data nsmanagedobjectcontext


    【解决方案1】:

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

    @property(strong, nonatomic) NSManagedObjectContext *managedObjectContext;
    

    无法复制托管对象上下文,但它也没有任何意义。你想在你的类中使用相同的上下文,而不是一个(独立的)副本。

    【讨论】:

    • 那是个错误。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-11-06
    • 2013-10-03
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多