MagicalRecord简易入门教程

同花顺 python量化交易_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程... 来源:雪球App,作者: 同花顺-iFinD,(https://xueqiu.com/6706494343/141951051)金融市场波动频繁,投资往往会夹杂非理性的情绪。而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,辅助投资者进行理性投资。不过计算机分析存在一定的技术门槛,有没有简单易学的量化交易方式,能够... 阅读详情


Magical Record是什么

在Cocoa中存在一种技术叫Core Data,用来对数据进行持久化,类似于Java世界中的Hibernate。在新建Cocoa Application/iOS Application的向导中,有一个选项是要不要使用Core Data,当启用以后你会发现在AppDelegate.m中添加了大量与Core Data相关的代码,但是你对大部分代码不知所以然。

Magical Record的出现在一定程度上缓解了这个问题,降低了Core Data的使用门槛。

Magical Record借用了Ruby on Rails中的Active Record模式,使得你可以非常容易的添加、查找、删除数据。Google了一下,没有发现中文相关教程,遂把自己的试用过程记录下来,写成此篇文章。

安装

  1. 新建一个项目,注意在向导中不要勾选Core Data。
  2. 下载Magical Record,并把MagicalRecord目录拖拽到工程中,记得勾选copy items into group folder。
  3. 为项目添加CoreData FrameWork。(点击工程根节点,然后依次Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > Add)。
  4. 添加Magical Record的头文件到*-Prefix.pch:
  1. #import "CoreData+MagicalRecord.h"

创建模型文件

下面创建一个名为Person的模型,有age、firstname、lastname三个字段。

  1. 创建一个名为Model的模型文件。 (File > New File… > Core Data > Data Model)
  2. 点击左下角的Add Entity,更改Entity的名字为Person。
  3. 为Entity添加三个Attribute:age(Integer16)、firstname(string)、lastname(string)。
  4. 点击Editor > Create NSManagedObject Subclass… > Create创建模型文件对应的类。

使用Magical Record

初始化Magical Record

首先在AppDelegate.m中添加以下代码对Magical Record进行初始化:

  1. - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
  2. {
  3. [MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];
  4. // ...
  5. return YES;
  6. }
  7. - (void)applicationWillTerminate:(NSNotification *)aNotification
  8. {
  9. [MagicalRecord cleanUp];
  10. }

是否比Core Data默认的初始化简洁多了呢?

查询记录

使用Person的MR_findAll、MR_findAllSortedBy、MR_findByAttribute等方法可以查询Person:

  1. //查找数据库中的所有Person。
  2. NSArray *persons = [Person MR_findAll];
  3. //查找所有的Person并按照first name排序。
  4. NSArray *personsSorted = [Person MR_findAllSortedBy:@"firstname" ascending:YES];
  5. //查找所有age属性为25的Person记录。
  6. NSArray *personsAgeEuqals25 = [Person MR_findByAttribute:@"age" withValue:[NSNumber numberWithInt:25]];
  7. //查找数据库中的第一条记录
  8. Person *person = [Person MR_findFirst];

添加记录

使用Person的MR_createEntity方法可以方便的创建一个Person,需要使用[[NSManagedObjectContext MR_defaultContext] MR_save]来进行保存哦:

  1. Person *person = [Person MR_createEntity];
  2. person.firstname = @"Frank";
  3. person.lastname = @"Zhang";
  4. person.age = @26;//此处使用了LLVM的新特性,XCode 4.4可用
  5. [[NSManagedObjectContext MR_defaultContext] MR_save];

更新记录

直接对数据库中查找到的Person进行赋值,然后使用NSManagedObjectContext保存即可更新Person:

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

删除记录

使用Person的MR_deleteEntity可以方便的删除Person,模式和添加更新一致:

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

小技巧

启动时MR_mergedObjectModelFromMainBundle方法报错

Core Data的模型有版本的概念,有可能在你Magical Record第一次初始化完成以后,你又更改了模型文件,导致Core Data去合并模型报错。解决办法很简单,点击菜单中的Project->Clean即可。

项目使用ARC后,编译Magical Record不通过

点击项目 -> Build Phases -> Compile Sources中, 双击报错的class文件, 编辑Compiler Flags加入 -fno-objc-arc。

不想使用MR_前缀

只需要在*-Prefix.pch文件中添加一句#define MR_SHORTHAND即可,注意这句要在#import “CoreData+MagicalRecord.h”之前。

参考链接:

Magical Record: how to make programming with Core Data pleasant

注:这篇文章中的MagicalRecordHelpers、MRCoreDataAction都已经不在新版本的Magical Record中存在,都已经更改为MagicalRecord。

原文转载链接:http://blog.youkuaiyun.com/kuizhang1/article/details/21200367




















从UE4到Unity:双叶高光技术在角色皮肤渲染中的移植全流程 本文详细解析了将UE4中的双叶高光技术移植到Unity引擎的全流程。该技术通过模拟皮肤油脂层和真皮层的不同反射特性,能显著提升角色皮肤渲染的真实感。文章从核心原理、贴图资产处理、Shader代码重构到参数调校,提供了完整的跨引擎移植实战指南,帮助开发者实现高质量的皮肤质感还原。 阅读详情

相关推荐

Spyglass实战指南:跨时钟域同步方案深度解析

本文深度解析了Spyglass在跨时钟域同步方案验证中的实战应用。通过真实案例阐述了亚稳态的危害,并详细介绍了从基础的两级同步器到复杂的异步FIFO与握手协议等八大同步方案,以及如何利用Spyglass进行有效配置、检查与问题排查,为提升芯片设计可靠性提供系统性的避坑指南。

weixin_29219189的博客 837

iOS-CoreData-Magical Record入门教程

Magical Record是什么 在Cocoa中存在一种技术叫Core Data,用来对数据进行持久化,类似于Java世界中的Hibernate。在新建Cocoa Application/iOS Application的向导中,有一个选项是要不要使用Core Data,当启用以后你会发现在AppDelegate.m中添加了大量与Core Data相关的代码,但是你对大部分代码不知所以然。

King的专栏 1650

从RTL到GDSII:DC综合里那些没人告诉你的时钟约束冷知识(附真实工程示例)

本文深入探讨数字IC设计中DC综合阶段的时钟约束冷知识,包括无毛刺时钟切换、寄存器分频时钟约束、虚拟时钟应用等关键技巧。通过真实工程示例,揭示常见约束误区及解决方案,帮助工程师提升时序收敛效率。特别针对input_delay和output_delay在多时钟域场景下的设置陷阱提供实用指南。

weixin_29306317的博客 429

使用开源库MagicalRecord操作CoreData

1. 将 MagicalRecord 文件夹拖入到工程文件中,引入 CoreData.frame 框架 2. 在 .pch 文件中引入头文件 CoreData+MagicalRecord.h 注:只能在.pch文件中引头文件,否则无法通过编译 3. 创建 Model.xcdatamodeld 文件,并创建一个 Student 的 ENTITIES,最后创建出 Student 类...

weixin_30467087的博客 173

YOLOv8n模型导出ONNX的避坑指南:解决版本差异,正确生成TensorRT/RKNN所需输出节点

本文详细介绍了YOLOv8n模型导出ONNX格式的实战避坑指南,涵盖版本差异处理、代码修改技巧及TensorRT/RKNN部署优化方案。针对不同推理框架需求,提供输出节点生成、动态轴处理和后处理划分等核心问题的解决方案,帮助开发者高效完成模型部署。

weixin_33247358的博客 357

CTF实战:Flask Session流量解密与内存马路由追踪

本文通过一道CTF实战题目,详细解析了Flask Session流量解密与内存马路由追踪的全过程。文章从破解前端加密密码入手,逐步揭示如何利用泄露的SECRET_KEY解密Session,发现命令执行痕迹,并最终追踪到攻击者植入的内存马路由。内容涵盖Wireshark流量分析、flask-unsign工具使用等实战技巧,为CTF选手和安全研究人员提供了一套完整的Flask应用安全分析思路。

weixin_28309571的博客 306

MagicalRecord的简单使用

1、新建一个工程,注意不要勾选 Core Data。 2,为项目添加CoreData FrameWork。(点击工程根节点,然后依次Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > Add)。 3. 创建模型文件: 下面创建一个名为Person的模型,有age、firstname、l

ZHZMAREN的博客 578

【数据集】CAMS 全球生物质燃烧排放 GFAS(基于火灾辐射功率)

CAMS 全球生物质燃烧排放 GFAS(基于火灾辐射功率)

WW、forever的博客 400

IOS MagicRecord 详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34038293的博客 111

使用 MATLAB/Simulink + Simscape Electrical + Simulink Design Optimization,构建一个基于SiC/GaN的Z源逆变器在储能系统中的软启

《手把手教你学Simulink:Z源逆变器在储能系统中的应用》摘要 本文详细介绍了使用MATLAB/Simulink构建Z源逆变器储能系统仿真模型的全过程。Z源逆变器凭借其独特的阻抗网络结构,解决了传统逆变器在直通保护和升压能力方面的痛点。文章通过6个关键步骤:主电路搭建、调制策略设计、软启动实现、仿真分析、效率对比和工程问题解决方案,完整展示了Z源逆变器从理论到仿真的实现路径。重点讲解了直通零矢量SPWM调制策略和渐进式升压比控制方法,验证了系统93.3%的效率和优异的抗扰性能。该模型为光伏储能、电动汽车

MHD0815的博客 122

Jetson Thor平台JP7.0版本96712 GMSL相机驱动调试记录

摘要:本文档记录了在Thor Custom Board (JP7.0GA)上配置GMSL摄像头时遇到的视频流问题及调试过程。问题表现为视频设备(/dev/video11)能正常创建,但获取视频时出现"Internal data stream error",而相同配置在AGX Orin JP6.0上运行正常。通过梳理硬件拓扑、v4l2-ctl测试、提升时钟频率及分析内核日志,发现VI引擎未接收到帧数据包。调试步骤包括检查设备树冲突、调整I2C总线配置、修正通道名称,最终通过屏蔽传感器启动时

jzwjzw19900922的博客 1109

iOS —— MagicalRecord的使用

MagicalRecord是对CoreData的进一步封装,省去了许多冗余的代码,使用起来非常方便。 添加数据库 使用CoreData,在创建工程的时候,需要勾选CoreData,然后AppDelegate里就会多出来许多代码,异常繁琐,看一眼就不想再看第二眼了。 用MagicalRecord添加数据库就简单得多了,只需要在 - (BOOL)application:(UIApplic

Road_dongliang的博客 962

【施磊】C++课程笔记目录

【C++编程】施磊老师C++笔记目录

GeniusAng的博客 4122

MagicalRecord入门教程

Magical Record是什么 Magical Record是什么 在Cocoa中存在一种技术叫Core Data,用来对数据进行持久化,类似于Java世界中的Hibernate。在新建Cocoa Application/iOS Application的向导中,有一个选项是要不要使用Core Data,当启用以后你会发现在AppDelegate.m中添加了大量与Core Data相关的代码

1660

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

『IOS』MagicalRecord入门教程

Magical Record是什么 在Cocoa中存在一种技术叫Core Data,用来对数据进行持久化,类似于Java世界中的Hibernate。在新建Cocoa Application/iOS Application的向导中,有一个选项是要不要使用Core Data,当启用以后你会发现在AppDelegate.m中添加了大量与Core Data相关的代码,但是你对大部分代码不知所以然

fallenink的专栏 771

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MagicalRecord使用教程

下面是在xc   1. 将 MagicalRecord 文件夹拖入到工程文件中,引入 CoreData.frame 框架 2. 在 .pch 文件中引入头文件 CoreData+MagicalRecord.h 注:只能在.pch文件中引头文件,否则无法通过编译 3. 创建 Model.xcdatamodeld 文件,并创建一个 Student 的 ENTITIES,最后创建出

louercab的专栏 2758

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

对于MagicalRecord的拙见

与Core Data相关的还有比较有名的MagicalRecord。使用CoreData时会用到许多引用代码,让工作变得很复杂,MagicalRecord可以帮你解决这些问题。MagicalRecord的目标是清除CoreData引用的代码,允许在需要请求优化的时候修改NSFetchRequest。           MagicalRecord的灵感来自于Ruby on Rails(wiki

qq_27820359的博客 391

MagicalRecord

MagicalRecord 2.1 前言 CoreData是iOS开发中经常使用的数据持久化的技术。但其操作过程稍微繁琐,即使你只是实现简单的存取,不涉及请求优化,也要进行许多配置工作,代码量在动辄几十行,对新手来说也需要较大时间成本。 MagicalRecord是OC的一个库,协助方便CoreData的工作。其吸收了Ruby on Rails的Active Record模式,目标是:

demoker 2475
上一篇: 使用sourceTree遇到的一个问题
下一篇: ReactNative的环境配置和初步使用(超详细)
Magical_master
博客等级 码龄11年 8粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值