在 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 未保存