在 importFromObject 上 MagicalRecord 崩溃:

Posted

技术标签:

【中文标题】在 importFromObject 上 MagicalRecord 崩溃:【英文标题】:MagicalRecord crashes on importFromObject: 【发布时间】:2012-06-01 10:50:54 【问题描述】:

如果运气好的话,我有点失望。也许有人可以指出我正确的方向。我正在尝试使 MagicalRecord importFromObject 方法起作用。我有的是这样的:

ios SDK 5.1 基本 XCode iPhone 项目设置(空应用程序,无核心数据,ARQ) CoreData 框架手动添加到项目中 添加了带有一个实体的 coredata 数据模型 实体具有属性“title”

Prefix.pch 包含以下内容:

#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"

此代码崩溃:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 


    [MagicalRecord setupCoreDataStack]; 
    [Product importFromObject:[NSDictionary dictionaryWithObject:@"test" forKey:@"title"]]; // Crashes here with EXC_BAD_ACCESS

    ....

在 NSManagedObject+MagicalRecord.m 这个方法中会崩溃:

+ (NSArray *) MR_executeFetchRequest:(NSFetchRequest *)request inContext:(NSManagedObjectContext *)context

    __block NSArray *results = nil;
    [context performBlockAndWait:^    

        NSError *error = nil;    

        results = [context executeFetchRequest:request error:&error]; // Crashes here with EXC_BAD_ACCESS

        if (results == nil) 
        
            [MagicalRecord handleErrors:error];
            

    ];
    return results; 

【问题讨论】:

Core Data Model 中的 Product 表示是什么? @Nikita:整个设置是完全标准的。只是具有字符串类型的可选“标题”属性的产品实体。没有关系,没有获取的属性。 @nhyolo 你能同时解决这个问题吗? @nhyolo 你解决了这个问题吗?我得到了同样的东西 我觉得还是个bug:github.com/magicalpanda/MagicalRecord/issues/214 【参考方案1】:

您可能会遇到此类崩溃,因为您没有将属性“productID”(实体名称 + ID)(类型字符串)添加到您的模型中。

如果您不想添加 productID 属性,也可以通过将 key relatedByAttribute(值:您的实体的主要属性)添加到您的实体 User Info 来引用它。

【讨论】:

以上是关于在 importFromObject 上 MagicalRecord 崩溃:的主要内容,如果未能解决你的问题,请参考以下文章

MagicalRecord MR_importFromObject 未保存

快速的 MR_importFromObject 的 EXC_BAD_ACCESS

Hamburger Magi(hdu 3182)

Magi-人工智能搜索引擎会自我学习的搜索引擎

(文末有福利)90后技术宅与他的另类搜索引擎「Magi」

HDU 3182 Hamburger Magi