YYModel之抽離出共有模型

2021-08-23 14:13:30 字數 1932 閱讀 6478

現在是舉例時間.如果沒時間看的的朋友可以直接看最底下的的方法

標題說的這個共有可能有點模糊,以一下的json檔案舉個例子

"areas" : [

"country" : ]]

}]

}]}

上面用乙個國家、省份、市、區的json來舉個例子.

大家可以看到下面的兩個屬性是通用的

"name"

"code"

如果後台返回是按照我上面的來返回的話.我們按照普通流程可能是這麼創立模型的

@inte***ce

countrymodel ()

/// 名字

@property (nonatomic ,strong) nsstring *name;

/// 位址編碼

@property (nonatomic ,strong) nsstring *code;

/// 省陣列

@property (nonatomic ,strong) nsarray

*provinces;

@end

@implementation

countrymodel ()

/// 讓碰到provinces欄位的時候自動和provinces配對.使用provincesmodel去字典轉模型

+ (nsdictionary

*)modelcontainerpropertygenericclass ;

}@end

上面只拿了國家模型舉個例子.那麼我們需要一直寫幾個重複的字段.

那麼我們能不能把name和code抽出來呢.

地區模型

/// areamodel

@inte***ce

areamodel ()

/// 名字

@property (nonatomic ,strong) nsstring *name;

/// 位址編碼

@property (nonatomic ,strong) nsstring *code;

@end

@implementation

areamodel ()

@end

國家模型

@inte***ce

countrymodel ()

/// 區域模型.包含名字和code

@property (nonatomic ,strong) areamodel *areamodel;

/// 省陣列

@property (nonatomic ,strong) nsarray

*provinces;

@end

然而直接使用yymodel轉換的時候去取countrymodel.areamodel的值卻是乙個空的.

@implementation

countrymodel ()

- (bool)modelcustomtransformfromdictionary:(nsdictionary *)dic

/// 讓碰到provinces欄位的時候自動和provinces配對.使用provincesmodel去字典轉模型

+ (nsdictionary

*)modelcontainerpropertygenericclass ;

}@end

使用- (bool)modelcustomtransformfromdictionary:(nsdictionary *)dic;方法可以把json對映到抽離出的模型裡頭去.自此我們完成了我們的需求.

抽離樣式模組

各個瀏覽器之間樣式相容性不同,預設的樣式值有所不同,如果沒有初始化對應的css,那麼最終執行的專案會在不同瀏覽器之間的表現有所不同,所以會對專案中標籤進行初始化設定 最常見的就是設定萬用字元 缺點是會遍歷所有的標籤屬性,嚴重影響效能 可以對具體標籤具體設定 body,h1,h2,h3,h4,h5,h...

python tornado 專案框架抽離

1,主函式入口 venv bin python3 全域性變數字典 tornado.options.define global dict type dict,default multiple true tornado.options.parse command line server.bind 888...

抽離止損 做自己

兩性關係學習心得 無論你多麼愛乙個人,也不能放棄做自己,當你放棄做自己的那一刻,你已經不特別了。兩個人從陌生到熟悉,再到最好在一起,並不是一成不變的,而是肯定會變的,當你們從朋友變成情侶的那一刻,你就應該明白,你要不斷的變成更好的自己,而不是說你已經吃定他了。很多女孩子便是如此,被男孩子追的時候,很...