簡單的代碼生成工具

網絡請求json轉換成model是純體力活,一般都是用工具生成,之前用JSON Accelerator進行生成,但是修改起來比較麻煩,看他的源碼寫的也比較復雜,后來發現了Mustache這個工具,一下就把問題簡單化了mustache模板引擎

Mustache介紹與語法

參這篇文章鏈接

工具介紹

主要利用JSON來生成model和與model對應的TableViewCell的數據綁定,Cell默認model的每一條數據都會對應一個控件,String和Int對應UILabel,圖片鏈接對應UIImageView,可以根據需要修改模板代碼

model模板代碼如下:

#import <Foundation/Foundation.h>

@interface {{name}}Model : NSObject

{{#properties}}@property (nonatomic, {{#strong}}strong{{/strong}}{{^strong}}assign{{/strong}} ) {{type}} {{#strong}}*{{/strong}}{{typename}};
{{/properties}}
@end
getArray.append(["type":typeName[type] ?? "String",
                             "typename":key,
                             "strong":typestrong[type] ?? true,
                             "image": isImage,
                             "uitype": isImage ? "ImageView" :"Label"])
let dic:[String:Any] = [
    "properties" : getArray,
    "name" : name
]

{{#key}}{{/key}}有兩個作用,一個是用數組賦值,一個是表示YES就顯示,NO就不顯示
{{^key}}{{/key}}表示NO就顯示,YES就不顯示
{{#properties}}{{/properties}}通過properties數組屬性賦值
{{#strong}}strong{{/strong}}表示strong這個屬性為YES就顯示
{{^strong}}assign{{/strong}}表示strong這個屬性為NO就顯示
# ^這個兩個就相當于if判斷了

github地址:demo

命令行工具開發參考教材

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容