iOS-簡單使用core data
iPhone OS在2009年6月份推出3.0版本SDK,其中一個特性是引入了Mac SDK中的core data。是一種ORM(Object Relationships Mapping)解決方案,類似java的Hibernate。
有了這個,就不必像ios簡單sqlite使用那樣編寫繁瑣代碼了,減少工作量,也可以迴避使用c的語法,降低ios開發的技術門檻。總之,可降低開發成本,提高項目質量。
創建ios項目
爲了方便,直接用xcode工具嚮導創建項目,這樣可以自動集成core data的支持。
不一定創建window-based項目,split view-based也可以,用於ipad項目,或者對於iphone的navigation-based項目亦可。
創建實體
比如java裏的實例需要編寫java類和對應的mapping文件(也可能是註解)。在ios裏,需要兩步:
- 圖形界面的設計工具,設計實體、實體屬性和實體的關係
- 生成實體的類,也就是對應的.h和.m文件
創建的項目比如叫aaa,那麼找到aaa.xcdatamodel:
雙擊它,可調出模型編輯器。創建一個Person實體。
點擊上圖的加號創建一個新的實體(entity),然後在entity的文本框中填寫實體名稱。回車就可以看到下面類似uml類圖的圖形名稱變爲Person。
然後創建屬性:
點擊屬性部分的加號,選擇Add Attribute,增加一個id,數字的:
然後,設置爲自增列:
再設置個name屬性:
如果有多個實體,繼續創建,或者創建它們之間的關係。
然後,生成實體類,供編寫程序時調用。
創建新文件,注意要在實體編輯器界面,可以選中Person實體,這樣生成的文件名就是Person:
選擇 managed object class:
然後:
然後選中需要的實體,finish:
在項目中生成了實體類:
在代碼中使用實體
首先,需要在使用Person實例類的代碼頭文件中加入:
1 2 3 |
|
使用core data的簡單代碼,創建一個Person實體實例,保存它,然後遍歷數據,相當於:select * from persons:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
如果需要刪除也很簡單:
[managedObjectContext deleteObject:person];