12

我刚开始使用 MagicalRecord,这可能是一个愚蠢的问题,但这真的很困扰我......我正在使用带有 sqlite 的 MagicalRecord,当我启动 MagicalRecord 时,我使用了

[MagicalRecord setupCoreDataStackWithStoreNamed:@"OrderSystem.sqlite"];

它产生了以下消息:

2012-10-16 16:54:48.966 OrderSystem[4135:c07] +NSManagedObjectContext(MagicalRecord) MR_contextWithStoreCoordinator:-> 创建:上下文* 主线程 *

当我尝试使用后台线程使用以下代码存储我的实体时:

[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){        
    Menu *localMenu = [menu inContext:localContext];        
    localMenu.name = menu.name;
    localMenu.menuid = menu.menuid ;        
}];

我收到以下错误消息:

2012-10-16 17:05:20.118 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: 错误信息: 操作无法完成。(可可错误 133000。)

2012-10-16 17:05:20.118 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: 错误域: NSCocoaErrorDomain

2012-10-16 17:05:20.119 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: Recovery Suggestion: (null)

2012-10-16 17:05:20.119 OrderSystem[4523:4603] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: 上下文没有变化:上下文 - 不保存

2012-10-16 17:05:20.120 OrderSystem[4523:c07] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: -> Saving : * DEFAULT语境主线 *

2012-10-16 17:05:20.121 OrderSystem [4523:c07] -NSManagedObjectContext(MagicalRecord) contextWillSave: 上下文: * 默认语境主线程 *即将保存。为新插入的 1 个对象获取永久 ID

2012-10-16 17:05:20.142 OrderSystem[4523:1303] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: -> 保存: * 背景保存 *上下文

2012-10-16 17:05:20.142 OrderSystem[4523:1303] -NSManagedObjectContext(MagicalRecord) contextWillSave: 上下文: * 背景保存 *上下文即将保存。为新插入的 1 个对象获取永久 ID

当我使用 findAll 检查存储的数据实体时,它似乎确实存储在数据库中。如果我完全关闭应用程序并重新启动应用程序,实体仍然存在(这表明实体已永久存储,而不仅仅是在内存中)。所以看起来一切正常,但知道这些错误消息是什么吗?有什么办法可以关闭它们吗?或解决它们?因为它阻止了我的其他 NSLog ......

谢谢

4

4 回答 4

31

找到了。#define MR_ENABLE_ACTIVE_RECORD_LOGGING 0在您的 Prefix.pch 文件之前添加#import "CoreData+MagicalRecord.h"

于 2012-12-11T23:59:14.373 回答
20

如果您使用 pod 将预处理器宏 MR_ENABLE_ACTIVE_RECORD_LOGGING=0 添加到这样的神奇记录项目中: 在此处输入图像描述

于 2014-06-30T08:18:54.220 回答
6

迅速

MagicalRecord.setLoggingLevel(MagicalRecordLoggingLevel.Off)

对象

[MagicalRecord setLoggingLevel:MagicalRecordLogLevelOff];

当应用程序didFinishLaunchingWithOptions时将其放入您的 AppDelegate

于 2016-01-11T14:30:44.820 回答
2

看起来您仍有错误需要修复。我建议不要在开发过程中忽略这些...

于 2012-10-16T06:47:52.210 回答