簡單的程式碼生成工具

xixinRunBoy發表於2018-03-21

網路請求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

命令列工具開發參考教材

相關文章