`

ios MagicRecord

    博客分类:
  • ios
 
阅读更多

CoreData是iOS开发中经常使用的数据持久化的技术。但其操作过程稍微繁琐,即使你只是实现简单的存取,不涉及请求优化,也要进行许多配置工作,代码量在动辄几十行,对新手来说也需要较大时间成本。

MagicalRecord是OC的一个库,协助方便CoreData的工作。其吸收了Ruby on Rails的Active Record模式,目标是:

  • 简化Core Data相关代码
  • 允许清晰,简单,单行获取
  • 当需要优化请求的时候,仍然允许修改NSFetchRequest

安装

1、在 github 上下载MagicalRecord

2、下载完成,将MagicalRecord 文件夹拖到Xcode中,添加进项目。添加CoreData framework。

3、在PCH文件中添加 CoreData+MagicalRecord.h

4、Option: 如果你在使用MagicalRecord方法的时候不想带MR_ 前缀,e.g. 直接用findAll 代替 MR_findAll,就在PCH中在CoreData+MagicalRecord.h之前增加 #defin MR_SHORTHAND 即可。

环境需求

MagicalRecord 需要的环境:

  • iOS 5.x 及以上, Mac OS 10.7及以上
  • ARC

iOS4,无ARC ,可以使用兼容版本,1.8.3

用法

创建Model

创建一个Model.xcdatamodeld ,添加一个Person Entity,添加age firstname lastname 三个属性。最后使用Editor > Create NSManagedObject Subclass ORM生成Person类。

初始化

在AppDelegate中:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"Model.sqlite"];
    // ...
    return YES;
}

- (void)applicationWillTerminate:(NSNotification *)aNotification
{
    [MagicalRecord cleanUp];
}

这样就搞定初始化啦!!

Person *person = [Person MR_createEntity];
person.firstname = @"Frank";
person.lastname = @"Zhang";
person.age = @26;
[[NSManagedObjectContext MR_defaultContext] MR_save];

//查找数据库中的所有Person。
NSArray *persons = [Person MR_findAll];

//查找所有的Person并按照first name排序。
NSArray *personsSorted = [Person MR_findAllSortedBy:@"firstname" ascending:YES];

//查找所有age属性为25的Person记录。
NSArray *personsAgeEuqals25   = [Person MR_findByAttribute:@"age" withValue:[NSNumber numberWithInt:25]];

//查找数据库中的第一条记录
Person *person = [Person MR_findFirst];

Person *person = ...;//此处略
person.lastname = object;        
[[NSManagedObjectContext MR_defaultContext] MR_save];

Person *person = ...;//此处略
[person MR_deleteEntity];
[[NSManagedObjectContext MR_defaultContext] MR_save];

more

分享到:
评论

相关推荐

    location驱动ios12.4 ios12.3 ios12.2 ios12.1 ios12.0 ios11.0 ios11.4

    标题和描述中提到的“location驱动ios12.4 ios12.3 ios12.2 ios12.1 ios12.0 ios11.0 ios11.4”意味着这是一个关于不同iOS版本中位置驱动的讨论,涵盖了从iOS 11.0到iOS 12.4的多个版本。 1. iOS中的定位服务:iOS...

    HBuilderX申请iOS证书在线打包iOS文档.docx

    iOS证书申请和HBuilderX在线打包流程 在iOS应用开发中,申请iOS证书是必不可少的一步骤,而HBuilderX提供了在线打包功能,简化了iOS应用的开发和发布流程。下面将详细介绍iOS证书的申请和HBuilderX在线打包流程。 ...

    iOS 真机调试包 iOS 15.1、15.0、14.8、14.7

    在iOS应用开发过程中,真机调试是不可或缺的一个环节。它允许开发者在实际设备上测试应用程序,确保其在不同iOS版本和设备上的兼容性和性能。本文将深入探讨如何使用iOS真机调试包,特别是针对iOS 15.1、15.0、14.8...

    ios helper用于苹果ios系统的实用工具

    《iOS Helper:苹果iOS系统的全能助手》 在iOS设备的使用过程中,用户常常会遇到各种问题,例如系统更新、数据管理、应用安装等。而"iOS Helper"正是为解决这些问题而设计的一款强大实用工具,专为苹果iOS系统提供...

    MagicRecord-Coredata

    总的来说,MagicRecord为iOS开发者提供了一个高效的工具,帮助他们更好地管理和操作Core Data。通过减少繁琐的代码,它让开发者能更专注于业务逻辑,而不是数据层的实现细节。如果你正在使用或计划使用Core Data,...

    最新IOS17.0真机调试包

    在iOS开发领域,真机调试是开发者不可或缺的功能,它允许程序员在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上运行无误。本文将深入探讨“最新iOS 17.0真机调试包”以及与之相关的Xcode、iOS和Mac...

    iOS 16.0真机包噢

    iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16真机包iOS 16...

    ios旧版抓包工具ios旧版抓包工具

    ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧...

    斯坦福ios7公开课纸牌源码(stanford ios7)

    【斯坦福iOS7公开课纸牌源码解析】 在iOS开发领域,斯坦福大学的iOS开发课程一直备受开发者们的推崇。这个“斯坦福ios7公开课纸牌源码”是该课程中的一部分,它提供了深入理解iOS应用程序开发的绝佳机会。源码分析...

    iOS11.2 真机调试包

    在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际的设备上测试应用程序,确保软件在各种硬件配置和系统版本上的表现。这里我们关注的是“iOS11.2 真机调试包”,这是一份专为在iOS 11.2系统上...

    iOS12 真机调试包

    在iOS应用开发过程中,真机调试是不可或缺的一环。它允许开发者在真实的设备上测试应用程序,确保其在各种硬件配置和系统版本上的表现。这里提到的"iOS12真机调试包"是针对iOS 12操作系统的一个关键组件,主要用于...

    ios device support 11.3

    在iOS开发领域,开发者经常需要面对设备兼容性和软件版本的问题。标题"ios device support 11.3"指的是iOS 11.3的设备支持文件,这是Xcode为了确保能够模拟或真机测试iOS 11.3系统版本而必需的一部分。描述中提到,...

    小码哥李明杰MJ iOS底层原理 视频教程

    小码哥李明杰MJ iOS底层原理视频教程 全部视频都有 小码哥李明杰MJ iOS底层原理视频教程 全部视频都有 小码哥李明杰MJ iOS底层原理视频教程 全部视频都有 小码哥李明杰MJ iOS底层原理视频教程 全部视频都有 小码哥...

    iOS 10 App Development Essentials

    iOS 10 App Development Essentials: Learn to Develop iOS 10 Apps with Xcode 8 and Swift 3 Author: Neil Smyth Length: 816 pages Edition: 1 Language: English Publisher: CreateSpace Independent Publishing...

    iOS17内置20多款新铃声

    在iOS 17系统中,苹果为用户带来了超过20款全新的铃声,这是一次对用户个性化体验的显著提升。这些铃声设计多样,涵盖了不同的音乐风格和节奏,旨在满足不同用户对于个性化声音选择的需求。无论是喜欢动感、古典还是...

    Cisco IOS 下载地址大全

    在IT行业中,Cisco IOS(Internetwork Operating System)是思科网络设备的核心操作系统,它负责管理、配置和控制网络设备,如路由器、交换机等。这个操作系统对于理解和操作思科网络设备至关重要,因为它是设备功能...

    iOS 15.4真机包呀

    iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS 15.4真机包iOS ...

    CISCO 全系列IOS下载地址

    在IT行业中,Cisco是一家全球知名的网络设备制造商,其Cisco IOS(Internetwork Operating System)是运行在许多Cisco网络设备上的操作系统,用于控制路由器、交换机和其他网络设备的操作。本篇文章将详细探讨Cisco ...

    ios6系统图标原生

    在iOS系统中,图标是用户界面的重要组成部分,它们为用户提供了一目了然的视觉指示,帮助用户快速识别和理解应用程序的功能。"ios6系统图标原生"是指iOS 6操作系统中,苹果公司官方设计的一系列应用程序图标。这些...

Global site tag (gtag.js) - Google Analytics