2016-08-17 45 views
0

我是CoreData和MR的新手。尝试保存一些实体并在阅读后进行阅读。MagicalRecord使用

节省:

Events *newEvent = [Events MR_createEntity]; 
newEvent.title = @"qwe"; 
newEvent.date = [NSDate date]; 
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreWithCompletion:^(BOOL contextDidSave, NSError * _Nullable error) {}]; 

阅读:

NSMutableArray *events = [NSMutableArray arrayWithArray:[Events MR_findAll]]; 
NSLog(@"%@",events); 

的结果我收到 “数据:<故障>”

如果我添加私人方面,如:

NSManagedObjectContext *context = [NSManagedObjectContext MR_newPrivateQueueContext]; 
NSMutableArray *events = [NSMutableArray arrayWithArray:[Events MR_findAllInContext:context]]; 

我的应用程序崩溃,错误原因:“+ entityForName:无不是寻找实体名称的法律NSPersistentStoreCoordinator'活动”

能有人告诉我代码为我的任务工作

回答

0

你并不需要为此添加任何私有上下文(如果您因其他原因而不需要它,显而易见)。 "data: <fault>"是iOS的一部分。核心数据不会提取对象的信息,如果它们没有直接访问,这是出于性能原因的不错选择。所以,如果你想在控制台中打印你的数组,你必须循环它并打印从数组中提取它的每一个元素。

for (Event *event in [Events MR_findAll]) { 
    NSLog(@"Event name : %@", event.name) 
} 

这应该很好。

PS:有一点建议,使用单数名称为您的实体,因为它们代表一个单一的对象,一个类。不要认为他们是桌子,因为他们不是。

+0

感谢您的解释,但此代码仍输出数据错误, 然而,我可以在此周期中打印事件属性 – sedq

+0

@sedq yea,我编辑了代码:) –