對於MagicalRecord的拙見

      與Core Data相關的還有比較有名的MagicalRecord。使用CoreData時會用到許多引用代碼,讓工作變得很複雜,MagicalRecord可以幫你解決這些問題。MagicalRecord的目標是清除CoreData引用的代碼,允許在需要請求優化的時候修改NSFetchRequest。  
 
      MagicalRecord的靈感來自於Ruby on Rails(wikipedia:Ruby on Rails簡稱Rails,是一個使用Ruby語言寫的開源Web應用框架,它是嚴格按照MVC結構開發的。它努力使自身保持簡單,來使實際的應用開發時的代碼更少,使用最少的配置。)

安裝:
  1. 新建一個項目,注意在嚮導中不要勾選Core Data
  2. 利用CocoaPods下載MagicalRecord,其中Podfile文件內容如圖1:

  3. 爲項目添加CoreData FrameWork。(點擊工程根節點,然後依次Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > Add)。
  4. 添加Magical Record的頭文件到*-Prefix.pch:#import <MagicalRecord/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創建模型文件對應的類。

使用MagicalRecord:

在AppDelagate.m中初始化MagicalRecord,如圖2

在ViewController.m中,引入Person類的頭文件,封裝四個方法分別是:“創建記錄”、“查詢記錄”、“更新記錄”、“刪除記錄”。



“創建記錄”、“查詢記錄”、



“更新記錄”、“刪除記錄”


小技巧

啓動時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”之前。



發佈了36 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章