Mantle迅速上手

2021-07-12 06:02:52 字數 1484 閱讀 1978

首先,不要害怕,他是幫助我們簡化問題的(比如自動降nsnull轉成nil,減少崩潰的可能),所以並不會難用。

我們通常用的就是mtljsonadapter,mtlmodel

tip 1:繼承mtlmodel,遵守mtljsonserializing協議

你需要實現這個方法來寫明一下對映關係,這個是我覺得mantle不好的一點,如果屬性和傳過來的介面是一樣的名字,也必須要在這個方法裡一一對應,不太好,mjextension就不需要。

+ (nsdictionary *)jsonkeypathsbypropertykey
用的時候

data轉字典

[nsjsonserialization

jsonobjectwithdata

:data

options:

nsjsonreadingmutablecontainers

error:

nil];

字典轉模型

model *model = [mtljsonadapter

modelofclass:[model

class] fromjsondictionary:dict

error:nil];

如果你的模型裡面想要的是nsdate, 但是傳過來的是nsnumber的話,你可以實現這個方法來轉換一下。

+ (nsvaluetransformer *)datejsontransformer  reverseblock:^(nsdate *date) ];

}

這裡面reverseblock是用來模型轉json的

也就是這個方法

+ (nsdictionary *)jsondictionaryfrommodel:
當你的模型裡有的屬性是陣列的話,你就需要告訴他一下,這個陣列裡面放的是什麼模型,也就是實現這個方法

+ (nsvaluetransformer *)recommendlistjsontransformer
如果你的模型裡的乙個屬性是另乙個model的話,那麼你就需要實現這個方法

+ (nsvaluetransformer *)companyinfojsontransformer
當你想把模型儲存起來的時候你可以醬紫操作。

歸檔操作

[nskeyedarchiver archiverootobject:model tofile:path]

;

解檔操作

testdatamodel *unachivemodel =[nskeyedunarchiver unarchiveobjectwithfile:path];
參考文章:

Mantle 初步使用

最近接觸到了mantle這個東西,感覺很不錯,在此與各位分享一下。在開發的過程中,我們常常會從網路獲取資料,而資料通常又為json格式。這時比較常見的做法是把json資料轉為model物件,這樣我們可以從model物件的屬性讀取資料。但是常常會面臨如下一些問題 有沒有辦法可以很優雅的解決這些問題呢,...

Mantle 初步使用

最近接觸到了mantle這個東西,感覺很不錯,在此與各位分享一下。在開發的過程中,我們常常會從網路獲取資料,而資料通常又為json格式。這時比較常見的做法是把json資料轉為model物件,這樣我們可以從model物件的屬性讀取資料。但是常常會面臨如下一些問題 有沒有辦法可以很優雅的解決這些問題呢,...

Mantle簡單認識及使用

mantle是乙個建模框架,實現了多個不同的nscoding和nscopying方法,還新增了許多非常便利的方法允許你實現更多有用的功能,比如返回乙個json字典,以代表你的物件。很多情況下,mantle可以作為core data的替代選擇。簡單自定義物件繼承mtlmodel並宣告協議,實現 nsd...