mantle
是乙個建模框架,實現了多個不同的nscoding
和nscopying
方法,還新增了許多非常便利的方法允許你實現更多有用的功能,比如返回乙個json
字典,以代表你的物件。很多情況下,mantle
可以作為core data
的替代選擇。
簡單自定義物件繼承mtlmodel
並宣告協議,實現
+ (nsdictionary *)jsonkeypathsbypropertykey
協議方法。
例如對下面的jsondic資料進行轉換: "id": 12, "code": 200, "msg": "ok"
簡單物件定義:
@inte***ce sampleentity : mtlmodel@property (nonatomic, assgin) nsinteger *sampleid; //與系統id會衝突
@property (nonatomic, assgin) nsinteger code;
@property (nonatomic, strong) nsstring *msg;
@end
@implementation esfhouseentity
+ (nsdictionary *)jsonkeypathsbypropertykey
@end
jsondic資料轉sampleentity:
sampleentity *entity = [mtljsonadapter modelofclass:[sampleentity class] fromjsondictionary:jsondic error:nil];
物件定義:
@inte***ce samplearrentity : mtlmodel@property (nonatomic, assgin) nsinteger *samplearrid; //與系統id會衝突
@property (nonatomic, assgin) nsinteger age;
@property (nonatomic, strong) nsstring *name;
@end
@implementation esfhouseentity
+ (nsdictionary *)jsonkeypathsbypropertykey
@end
jsonarr資料轉samplearrentity:
nsarray *samplearrentityarr = [mtljsonadapter modelsofclass:[samplearrentity class] fromjsonarray:jsonarr error:nil];
物件定義:
@class esfagententity,esfhouselistentity,houselookbyagentmsg;
@inte***ce complexentity : mtlmodel@property (nonatomic, strong) nsarray *houselookbyagentmsglist; //經紀人帶看記錄列表@property (nonatomic, strong) nsarray *similarhousemsglist;//相似**@property (nonatomic, strong) nsstring *houseid;
@end
#pragma mark - 經紀人帶看記錄物件
@inte***ce houselookbyagentmsg : mtlmodel @property (nonatomic, strong) esfagententity *agent;//經紀人實體
@property (nonatomic, strong) nsstring *lookeddate;//"2014-12-05", // 帶看時間
@end
#pragma mark - 經紀人物件
@inte***ce esfagententity : mtlmodel @property (nonatomic, assign) nsinteger credit;
@property (nonatomic, strong) nsinteger agentid;//與系統id會衝突
@end
#pragma mark - 相似**物件
@inte***ce esfhouselistentity : mtlmodel @property (nonatomic, assign) nsstring *picture;
@property (nonatomic, strong) nsinteger houselistid;//與系統id會衝突
@end
@implementation complexentity
+ (nsdictionary *)jsonkeypathsbypropertykey
//經紀人帶看記錄列表進行解析
+ (nsvaluetransformer *)houselookbyagentmsglistjsontransformer
//相似**進行解析
+ (nsvaluetransformer *)similarhousemsglistjsontransformer
@end
@implementation houselookbyagentmsg
+ (nsdictionary *)jsonkeypathsbypropertykey
//對經紀人實體agent進行解析
+ (nsvaluetransformer *)agentjsontransformer
@end
@implementation esfhouselistentity
+ (nsdictionary *)jsonkeypathsbypropertykey
@end
@implementation esfagententity
+ (nsdictionary *)jsonkeypathsbypropertykey
Mantle 初步使用
最近接觸到了mantle這個東西,感覺很不錯,在此與各位分享一下。在開發的過程中,我們常常會從網路獲取資料,而資料通常又為json格式。這時比較常見的做法是把json資料轉為model物件,這樣我們可以從model物件的屬性讀取資料。但是常常會面臨如下一些問題 有沒有辦法可以很優雅的解決這些問題呢,...
Mantle 初步使用
最近接觸到了mantle這個東西,感覺很不錯,在此與各位分享一下。在開發的過程中,我們常常會從網路獲取資料,而資料通常又為json格式。這時比較常見的做法是把json資料轉為model物件,這樣我們可以從model物件的屬性讀取資料。但是常常會面臨如下一些問題 有沒有辦法可以很優雅的解決這些問題呢,...
wireshark簡單認識使用
wireshark beyond compare是乙個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並盡可能顯示出最為詳細的網路封包資料。wireshark使用winpcap作為介面,直接與網絡卡進行資料報文交換,是目前全世界最廣泛的網路封包分析軟體。首先認識一下wireshark介面各個...