最近我想测试magicalRecord,因为它似乎可以帮助我减少很多繁琐的coredata代码甚至是子类化实体.
这似乎是一个使用cocapods的直接实现.
题
将magicalRecord实现到现有的CoreData项目是一个好主意,如果是这样,它最好怎么做?我主要考虑的是我现有的商店和代码.
谢谢
解决方法 是.神奇的记录简化了你的生活!在已创建的项目中没有什么难以使用它们.只是要小心上下文.
MR自动管理,创建,合并上下文.
当你开始使用它们时 – 任何带有上下文的动作都应该通过Magical Record MR_方法来完成.
以下是配置Magical Record的主要步骤:
>通过CocoaPods添加魔法记录:添加到Podfile行:pod’MagicalRecord’
(别忘了运行pod安装)
>在启动应用程序中设置managedobjectContext:
AppDelegate.m
-(BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [MagicalRecord setupCoreDataStack]; _managedobjectContext = [NSManagedobjectContext MR_defaultContext]; //other your code }
当你想要将JsON解析为实体时 – 写下:
[Item MR_importFromObject:JsONToimport];
并且MR_importFromObject方法将自动创建新实体或更新现有实体.
每个实体的特定ID是您的实体名称加上“ID”的属性. (例如,如果名为“Item”的实体 – 唯一属性名称为“ItemID”),或者您可以指定名为“mappedKeyname”的特殊键并设置您的唯一ID.
3.保存更改:
[_managedobjectContext MR_savetoPersistentStoreAnDWait];
4.获取数据:
NSArray items = [Item MR_findByAttribute:@"itemID" withValue:"SomeValue" andOrderBy:sortTerm ascending:YES inContext:[NSManagedobjectContext MR_defaultContext]];
5.最后,在你的应用程序退出之前,你应该使用清理方法:
[MagicalRecord cleanUp];
关于多线程使用:
要在非主线程中使用上下文 – 您必须在每个线程中创建localContext.
像这样:
NSManagedobjectContext *localContext = [NSManagedobjectContext MR_contextWithParent:[NSManagedobjectContext MR_defaultContext]];//do thing with localContext - fetch,import,etc.
这是MR使用的非常好的教程:cimgf: importing-data-made-easy
总结以上是内存溢出为你收集整理的cocoa – 如何使用Core Data将magicalRecord添加到现有项目?全部内容,希望文章能够帮你解决cocoa – 如何使用Core Data将magicalRecord添加到现有项目?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)