|
默认有25个CM文件,可直接使用;如果你想生成特色的代码仍然需要编写自己的CM文件。
CM文件(.cm)大规则:
- 所有浮点型归为Float类型,非浮点型归为Int; 即基本数据类型只有Float、Int、Bool.
- 一个CM文件只能有一个声明.
- CM文件第一行必须为声明.
- 注释格式
单行注释
多行注释
// 多行注释1
// 多行注释2
// 多行注释3
一、Objective-C CM文件(.cm)编写规则
CM文件路径:/Users/xxxxxx/CodeMixer/BaseClass/OC
自己编写的CM文件需要放到此路径中
1、结构体(Struct)
声明语法
#struct#名称##框架或引用文件
注册创建实例方法(或静态属性)语法
##m2#方法名(#0, #1, #2, #3, ...)##第1个参数类型,第2个参数类型,第3个参数类型,第4个参数类型,...
示例
- #struct#CGRect##UIKit
- ##m2#CGRectMake(#0, #1, #2, #3)##Float,Float,Float,Float
- ##m2#CGRectZero
复制代码
2、枚举(Enum)
声明语法
#enum#名称##框架或引用文件
注册成员语法
##e#成员名称
示例
- #enum#NSTextAlignment##UIKit
- ##e#NSTextAlignmentLeft
- ##e#NSTextAlignmentCenter
- ##e#NSTextAlignmentRight
- ##e#NSTextAlignmentJustified
- ##e#NSTextAlignmentNatural
复制代码
3、类(Class)
声明语法
#class#类名##框架或引用文件
注册构造方法语法
##m1#方法名:#0 参数2:#1 参数3:#2, ...##第1个参数类型, 第2个参数类型, 第3个参数类型, ...
注册创建实例的静态方法语法
##m2#方法名:#0 参数2:#1 参数3:#2, ...##第1个参数类型, 第2个参数类型, 第3个参数类型, ...
注册属性语法
##p#属性名##类型
示例
- #class#UIView##UIKit
- ##m1#initWithFrame:#0##CGRect
- ##p#frame##CGRect
- ##p#bounds##CGRect
- ##p#center##CGPoint
- ##p#contentScaleFactor##Float-10.0
- ##p#multipleTouchEnabled##Bool
- ##p#exclusiveTouch##Bool
- ##p#autoresizesSubviews##Bool
- ##p#autoresizingMask##UIViewAutoresizing
- ##p#clipsToBounds##Bool
- ##p#opaque##Bool
- ##p#clearsContextBeforeDrawing##Bool
- ##p#hidden##Bool
- ##p#backgroundColor##UIColor
- ##p#alpha##Float-1.0
- ##p#contentMode##UIViewContentMode
复制代码Float-1.0表示动态生成的值在 [0.0, 1.0] 范围内,Float-10.0表示动态生成的值在 [0.0, 10.0] 范围内,Float表示动态生成的值在 [0.0, 600.0] 范围内,同样适用于Int
下载一些OC示例
二、Swift CM文件(.cm)编写规则
CM文件路径:/Users/xxxxxx/CodeMixer/BaseClass/Swift
自己编写的CM文件需要放到此路径中
1、结构体(Struct)
声明语法
#struct#名称##框架
注册创建实例方法(或静态属性)语法
##m2#方法名(#0, #1, #2, #3, ...)##第1个参数类型,第2个参数类型,第3个参数类型,第4个参数类型,...
示例
- #struct#CGRect##UIKit
- ##m2#CGRect(x: #0, y: #1, width: #2, height: #3)##Float,Float,Float,Float
- ##m2#CGRect(x: #0, y: #1, width: #2, height: #3)##Int,Int,Int,Int
- ##m2#CGRect.zero
复制代码
2、枚举(Enum)
声明语法
#enum#名称##框架
注册成员语法
##e#成员名称
示例
- #enum#NSTextAlignment##UIKit
- ##e#left
- ##e#center
- ##e#right
- ##e#justified
- ##e#natural
复制代码
3、类(Class)
声明语法
#class#类名##框架
注册构造方法语法
##m1#(参数1:#0, 参数2:#1, 参数3:#2, ...)##第1个参数类型, 第2个参数类型, 第3个参数类型, ...
注册创建实例的静态方法语法
##m2#方法名(参数1:#0, 参数2:#1, 参数3:#2, ...)##第1个参数类型, 第2个参数类型, 第3个参数类型, ...
注册属性语法
##p#属性名##类型
示例
- #class#UIView##UIKit
- ##m1#(frame: #0)##CGRect
- ##p#frame##CGRect
- ##p#bounds##CGRect
- ##p#center##CGPoint
- ##p#contentScaleFactor##Float-10.0
- ##p#isMultipleTouchEnabled##Bool
- ##p#isExclusiveTouch##Bool
- ##p#autoresizesSubviews##Bool
- ##p#autoresizingMask##UIView.AutoresizingMask
- ##p#clipsToBounds##Bool
- ##p#isOpaque##Bool
- ##p#clearsContextBeforeDrawing##Bool
- ##p#isHidden##Bool
- ##p#backgroundColor##UIColor
- ##p#alpha##Float-1.0
- ##p#contentMode##UIView.ContentMode
复制代码Float-1.0表示动态生成的值在 [0.0, 1.0] 范围内,Float-10.0表示动态生成的值在 [0.0, 10.0] 范围内,Float表示动态生成的值在 [0.0, 600.0] 范围内,同样适用于Int
下载一些Swift示例
三、测试CM文件(.cm)编写正确性
1、编写好的CM文件放到指定路径
OC:/Users/xxxxxx/CodeMixer/BaseClass/OC
Swift: /Users/xxxxxx/CodeMixer/BaseClass/Swift
2、 打开 CodeMixer 进入CM文件测试功能( CodeMixer 3 Beta3+)


|
|