美文网首页iOS-移动架构师
iOS 在Xcode8,用 MagicalRecord 来做本地

iOS 在Xcode8,用 MagicalRecord 来做本地

作者: 木木光 | 来源:发表于2016-11-25 10:50 被阅读1642次

   这是本人的第一篇简书,记录的是关于在升级Xcode8以后,如何使用 iOS 第三方 MagicalRecord 库的方法,如果发现其他的问题请直接留言或者联系笔者邮箱: aaasss_6002@qq.com 。

github   https://github.com/magicalpanda/MagicalRecord

首先先贴出  MagicalRecord 库的github地址,顺便感谢有个如此好的库。

1: 下载好之后,创建好一个工程,不要勾选 Core Data,然后利用 cocoapods 下载安装好最新版本的 MagicalRecord

ps:这里解释下为什么不去github直接下载然后放到工程,因为直接下载后拉入新的工程,会出现文件找不到的情况,我也尝试过很久其他方法,其中一个要一个个 把 (#import )把文件的路径都改掉,这样很麻烦,所以直接用cocoapods比较方便,能直接集成好,如果你不怕麻烦,可以自己改。

1

2: 为项目添加 CoreData.FrameWork。(点工程根节点,然后依次  Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > 添加 ),然后在文件需要使用到 MagicalRecord 库的地方: #import <MagicalRecord/MagicalRecord.h> 

3: 接下来,我们需要建立模型需要的模型, 做一个比方,这里建一个Person模型,属性有3个,name,age,work。然后进行相应的增删查改操作.

  1、建立一个Data Model, 名字自取,我这里名字是 TestModel,然后 就会多了2这个文件。

2 建立Data Model

 2、建立模型Person,并添加属性。 首先选择TestModel ,然后点击坐下角的 Add Entity ,再修改名字成Person,再分别添加Person的三个属性,name , work ,age ,并给它们的type设置成string 、string 、integer 16,另外着重看第5点(箭头指向的地方) 这个是要设置成OC语言的,当然如果是swift语言就另说,这是和Xcode8之前的版本不同的地方.

图2 建立 Person 模型

3、 接下来是建模,建模也和之前的版本不同,不是之前的方法建模了,建模的地方放置到了这里:

图3 建立模型的地方

4、点了一路的确定之后,将会出现这4个文件,然后我们在需要使用到Person模型的地方导入 #import "Person+CoreDataClass.h" .

图4 建立好模型的地方

5、这样做了之后,还有一个操作,就是在 AppDelegate.m 文件的 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 方法里面添加数据库存储的位置 建议添加以下全部代码,不然在控制台会有一些奇怪的输出。

图5 初始化数据库路径

6、然后我们就可以开始对数据进行 增删查改 的四项操作了. 我用SB拖了4个按钮,分别对应增删查改。其他的具体上代码。

7、增加和查询

图7 增加和查询代码。

8、删除和修改.

图8 删除和修改

4: 稍稍总结了一下 ,用 MagicalRecord 来作为本地数据库存储是很方便,避免了写很多配置,只需要几行代码就能够完成项目的需求,另外标注一下,只有在读取数据的时候是不需要做保存操作的,其它的对数据库的操作是都需要在完成的时候,使用下面这行代码来进行保存。

[[NSManagedObjectContextMR_defaultContext]MR_saveToPersistentStoreAndWait]; 

5: 留下的坑 :
 1、第一个建立模型的时候的,模型放置的位置在xocde文件夹的最上面的那一块,取下来之后又会出现找不到文件的情况,有待解决.

2、如果直接从 Github 上取出来 MagicalRecord  那么会有文件找不到的报错,不知道如何解决。

最后在 Github 留下 Demo 地址 .

相关文章

网友评论

    本文标题:iOS 在Xcode8,用 MagicalRecord 来做本地

    本文链接:https://www.haomeiwen.com/subject/gqsvpttx.html