- UI控件添加到View
- UI控件内容初始化
- 生成Masonry布局
- 属性懒加载
- 自定义规则生成代码
- 未完待续...
- 如果之前编译过 ASXcodeSourcePlugin,清除 DrivedData
- 在这里安装:源码地址
- 源代码编译后把生成的App拖入应用程序即可
- 打开 Xcode 并选择文本
- 在 Editor 菜单中找到插件
- 你可以给每个插件都设置一个独立的快捷键
- 通过一个plist文件可获取文件内对应代码生成规则,plist包含规则对应类别名特定字段替换代码模板中的类名和属性名.例如
propertyName
,className
为关键字在模板生成中会被替换成实际的类名和属性名。如:@property(nonatomic,strong)UILabel *label;
在生成代码时propertyName
会被替换为label
。
- 每个规则需要按照如下格式生成
<key>自定义规则名称</key>
<dict>
<key>path</key>
<string>插入位置</string>
<key>rule</key>
<array>
<dict>
<key>UILabel</key>
<string>[self.view addSubview:self.propertyName];</string>
</dict>
<dict>
<key>UIButton</key>
<string>代码生成格式</string>
</dict>
</array>
</dict>
-
自定义规则名称可以随意编写只是标识对应规则名称无实际作用
-
插入位置需要按照//+字符串生成,如//insertCode,避免插入位置中包含空格可能会出现无法识别等情况
-
代码生成格式可以把对应格式直接添加到plist文件中如:
[self.propertyName mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.<#UIView#>).offset(<#offset#>);
make.bottom.equalTo(self.<#UIView#>).offset(<#offset#>);
make.left.equalTo(self.<#UIView#>).offset(<#offset#>);
make.right.equalTo(self.<#UIView#>).offset(<#offset#>);
make.height.mas_equalTo(<#offset#>);
make.width.mas_equalTo(<#offset#>);
}];
- 如果不是特定类生成特定代码则可以把rule设定成All即可,所有类可对应生成模板代码
- 在需要添加代码的地方插入标记例如(
//initSubNode
)并且选中需要自动生成代码的属性。
- 在需要添加代码的地方插入
//setter&&getter
(注意一定要是这个格式的标记否则无法自动生成代码)并且选中需要自动生成代码的属性,例如@property(nonatomic,strong)NSArray *testArray;
- 在需要添加代码的地方可以插入你想要在标记下生成的代码并且选中需要自动生成代码的属性,例如标记为(
//addSubviews
,//addConstraints
),例如@property(nonatomic,strong)UIView *testView;
内置plist文件地址:https://github.com/iAlexSun/ASXcodeSourceExtensioin/blob/master/RuleFile/rules.plist