? ?這是本人的第一篇簡書,記錄的是關(guān)于在升級Xcode8以后匣屡,如何使用 iOS 第三方 MagicalRecord 庫的方法封救,如果發(fā)現(xiàn)其他的問題請直接留言或者聯(lián)系筆者郵箱: aaasss_6002@qq.com 。
github? ?https://github.com/magicalpanda/MagicalRecord
首先先貼出? MagicalRecord 庫的github地址,順便感謝有個(gè)如此好的庫捣作。
1: 下載好之后誉结,創(chuàng)建好一個(gè)工程,不要勾選 Core Data,然后利用 cocoapods 下載安裝好最新版本的 MagicalRecord
ps:這里解釋下為什么不去github直接下載然后放到工程,因?yàn)橹苯酉螺d后拉入新的工程券躁,會(huì)出現(xiàn)文件找不到的情況惩坑,我也嘗試過很久其他方法,其中一個(gè)要一個(gè)個(gè) 把 (#import )把文件的路徑都改掉嘱朽,這樣很麻煩旭贬,所以直接用cocoapods比較方便,能直接集成好搪泳,如果你不怕麻煩稀轨,可以自己改。
2: 為項(xiàng)目添加 CoreData.FrameWork岸军。(點(diǎn)工程根節(jié)點(diǎn)奋刽,然后依次? Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > 添加 ),然后在文件需要使用到 MagicalRecord 庫的地方: #import <MagicalRecord/MagicalRecord.h>?
3: 接下來,我們需要建立模型需要的模型艰赞, 做一個(gè)比方佣谐,這里建一個(gè)Person模型,屬性有3個(gè)方妖,name狭魂,age,work。然后進(jìn)行相應(yīng)的增刪查改操作.
? 1雌澄、建立一個(gè)Data Model, 名字自取斋泄,我這里名字是 TestModel,然后 就會(huì)多了2這個(gè)文件。
?2镐牺、建立模型Person,并添加屬性炫掐。 首先選擇TestModel ,然后點(diǎn)擊坐下角的 Add Entity ,再修改名字成Person睬涧,再分別添加Person的三個(gè)屬性募胃,name , work ,age ,并給它們的type設(shè)置成string 畦浓、string 痹束、integer 16,另外著重看第5點(diǎn)(箭頭指向的地方) 這個(gè)是要設(shè)置成OC語言的,當(dāng)然如果是swift語言就另說讶请,這是和Xcode8之前的版本不同的地方.
3参袱、 接下來是建模,建模也和之前的版本不同秽梅,不是之前的方法建模了抹蚀,建模的地方放置到了這里:
4、點(diǎn)了一路的確定之后企垦,將會(huì)出現(xiàn)這4個(gè)文件,然后我們在需要使用到Person模型的地方導(dǎo)入 #import "Person+CoreDataClass.h" .
5环壤、這樣做了之后,還有一個(gè)操作钞诡,就是在 AppDelegate.m 文件的 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 方法里面添加數(shù)據(jù)庫存儲(chǔ)的位置 建議添加以下全部代碼郑现,不然在控制臺(tái)會(huì)有一些奇怪的輸出。
6荧降、然后我們就可以開始對數(shù)據(jù)進(jìn)行 增刪查改 的四項(xiàng)操作了. 我用SB拖了4個(gè)按鈕接箫,分別對應(yīng)增刪查改。其他的具體上代碼朵诫。
7辛友、增加和查詢
8剪返、刪除和修改.
4: 稍稍總結(jié)了一下 废累,用 MagicalRecord 來作為本地?cái)?shù)據(jù)庫存儲(chǔ)是很方便,避免了寫很多配置脱盲,只需要幾行代碼就能夠完成項(xiàng)目的需求邑滨,另外標(biāo)注一下,只有在讀取數(shù)據(jù)的時(shí)候是不需要做保存操作的钱反,其它的對數(shù)據(jù)庫的操作是都需要在完成的時(shí)候掖看,使用下面這行代碼來進(jìn)行保存匣距。
[[NSManagedObjectContextMR_defaultContext]MR_saveToPersistentStoreAndWait];?
5: 留下的坑 :
?1、第一個(gè)建立模型的時(shí)候的哎壳,模型放置的位置在xocde文件夾的最上面的那一塊墨礁,取下來之后又會(huì)出現(xiàn)找不到文件的情況,有待解決.
2耳峦、如果直接從 Github 上取出來 MagicalRecord ?那么會(huì)有文件找不到的報(bào)錯(cuò),不知道如何解決焕毫。
最后在 Github?留下 Demo 地址 .