BMExport
BMExport copied to clipboard
一个 JSON 转 Objective-C,Swift class, Swift struct Model 属性的 Mac 小工具,【点击直接下载 https://github.com/liangdahong/BMExport/releases/download/2.0/BMExport2.0.dmg 】。
一个 JSON 转 Model 属性代码的 Mac 小工具,目前支持 Objective-C,Swift class, Swift struct 。
- 【点击直接下载,建议直接编译源码马上体验最新更全功能 https://github.com/liangdahong/BMExport/releases/download/2.0/BMExport2.0.dmg 】。
当前功能
- [x] JSON -> Model 属性代码
- [x] 添加注释占位
- [x] 属性对齐
- [x] 目前解析 JSON 是独立模块,所以支持其他语言也很简单,只需要编写相关其他语言的特性代码即可。
- [x] 支持 Swift 只需如下代码即可:
switch (obj.propertyType) {
case BMPropertyTypeInt:
[propertyArray addObject:[NSString stringWithFormat:@"var %@ = 0",
obj.propertyName]];
break;
case BMPropertyTypeBoolean:
[propertyArray addObject:[NSString stringWithFormat:@"var %@ = false",
obj.propertyName]];
break;
case BMPropertyTypeString:
[propertyArray addObject:[NSString stringWithFormat:@"var %@ = \"\"",
obj.propertyName]];
break;
case BMPropertyTypeArray:
[propertyArray addObject:[NSString stringWithFormat:@"var %@: Array<<#type#>> = []",
obj.propertyName]];
break;
case BMPropertyTypeDictionary:
[propertyArray addObject:[NSString stringWithFormat:@"var %@: <#type#>?",
obj.propertyName]];
break;
case BMPropertyTypeObject:
[propertyArray addObject:[NSString stringWithFormat:@"var %@: <#type#>?",
obj.propertyName]];
break;
default:
break;
}
- 支持 Objective-C 只需如下代码即可:
switch (obj.propertyType) {
case BMPropertyTypeInt:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, assign) NSInteger %@;",
obj.propertyName]];
break;
case BMPropertyTypeBoolean:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",
obj.propertyName]];
break;
case BMPropertyTypeString:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, copy) NSString *%@;",
obj.propertyName]];
break;
case BMPropertyTypeArray:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, copy) NSArray <<#type#> *> *%@;",
obj.propertyName]];
break;
case BMPropertyTypeDictionary:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, strong) <#type#> *%@;",
obj.propertyName]];
break;
case BMPropertyTypeObject:
[propertyArray addObject:[NSString stringWithFormat:@"@property (nonatomic, strong) <#type#> *%@;",
obj.propertyName]];
break;
default:
break;
}
联系
计划
- [ ] 考虑支持 Swift 的相关 Model 解析框架,如:HandyJSON,ObjectMapper。
- [ ] 支持自动生成
Model
文件; - [ ] 按属性类型排序等;
- [ ] 尝试实现网页版工具;
- [ ] 支持其他语言;
- [ ] 等。