iOS 數據管理

Magical Record的基本使用
1.Magical Record的出現
iOS開發中常使用core Data做數據本地化來代替直接操作sqlite3。因爲使用core Data的時候可以調用相應的方法直接將對象存到數據庫中,避免了寫sql語句。可是在使用的時候,有個問題,就是在將數據庫和模型關聯的時候需要寫大量的代碼,而且那些代碼還非常不好記憶。
Magical Record的出現在一定程度上緩解了這個問題,降低了Core Data的使用門檻。
2.安裝
1.新建一個iOS項目,創建的是在嚮導頁中不要勾選Core Data。
2.下載Magical Record,下載完成後將其文件夾拖到工程中
3.在工程中添加CoreData.FrameWork庫
4.在PrefixHeader.pch文件中包含MagicalRecord.h頭文件
3.pch文件的創建
在Xcode6之前,新建一個工程的時候,系統會幫我們自動新建一個以工程名爲名字的 pch (precompile header)文件,在開發過程中,可以將那些整個工程都廣泛使用的頭文件包含在該文件下,編譯器就會自動的將pch文件中的頭文件添加到所有的源文件中 去,這樣在需要使用相關類的時候不需要使用import就可以直接使用頭文件中的內容,很大程度上帶來了編程的便利性,但潛在的也帶來了一些問題,這也是 在Xcode6中默認不再創建pch的原因吧。
但有些時候,還是需要pch文件的,那麼怎麼在Xcode6中添加一個pch文件呢?
1. 首先,Command+N,打開新建文件窗口:ios->other->PCH file,創建一個pch文件,添加需要引入的頭文件名:
2. 其次,修改工程配置文件,將剛剛創建的PCH file的路徑添加到building setting中的precompile header選項中去,注意debug和release兩欄都要添加 

3. 至此,大功告成,編譯一遍,新添加的pch文件就可以正常使用了^_^。 >
參考:http://blog.csdn.net/lihuiqwertyuiop/article/details/39268101


4.創建模型文件
*我們還是創建一個學生模型,有name、age、face和score 4個字段
1. 創建一個名爲Model的模型文件。創建方式和創建一個新的類一樣,先按commend+N,出現以下界面。選core Data -> Data Model -> Next ->給模型文件命名 —>Create。 創建完成後工程中會多出一個.xcdatamodeld文件。 

2. 選中剛纔創建好的.xcdatamodeld文件,點擊左下角的add Entity,更改Entity的名字Student。


1.  上圖中點擊+添加4個屬性name(String)、age(Integer16)、face(Integer16)、score(Float)
2.  創建一個和實體Student對應的類(要求含上面創建的所有屬性)

5.使用Magical Record
初始化Magical Record
1. 在AppDelegate.m中添加以下代碼來對Magical Record進行初始化
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {

[MagicalRecord setupCoreDataStackWithStoreNamed:@”myDataBase.sqlite”];

return YES;
}

1.  插入記錄

//1.添加記錄
Student * student = [Student MR_createEntity]; student.name = @”餘婷”; student.face = @100; student.age = @18;
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

1.  查詢記錄

//查詢所有的數據 NSArray * students = [Student MR_findAll];
//查找並按按年升序排序
NSArray * sortstudents = [Student MR_findAllSortedBy:@”age” ascending:YES];

//查找所有的年齡是20的人
NSArray * allAges = [Student MR_findByAttribute:@”age” withValue:@20];

//查找數據庫的第一條數據
Student * fStudent = [Student MR_findFirst];

1. 更新記錄首先按照上述的查詢記錄的方法查找到需要更新的Student進行屬性賦值,然後使用NSManagedObjectContext保存即可更新。


Student * fStudent = [Student MR_findFirst];
fStudent.name = @”張三”;
fStudent.age = @25;
fStudent.face = @59;
fStudent.score = @68.5;

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

1. 刪除記錄和更新記錄類似,刪除記錄前先查詢到你需要刪除的記錄,然後使用NSManagedObjectContext 去刪除記錄


Student * fStudent = [Student MR_findFirst];

[fStudent MR_deleteEntity];

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

6.說明
參考鏈接:http://blog.csdn.net/kuizhang1/article/details/21200367

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章