swift&&OC
2019-07-08 本文已影响0人
TheHunz
宏定义
OC中的宏定义
#define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1]
swift中的宏定义
OC中宏定义的方式,在swift中是不可用的,在swift中,宏定义其实就是定义一个全局常量或者全局函数
func RGB(_ r:CGFloat,_ g:CGFloat,_ b:CGFloat) -> UIColor {
return RGBA(r, g, b, 1.0)
}
func RGBA(_ r:CGFloat, _ g:CGFloat, _ b:CGFloat, _ a:CGFloat) -> UIColor {
return UIColor(red: (r)/255.0, green: (g)/255.0, blue: (b)/255.0, alpha: a)
}
let MainColor = RGB(255, 255, 255);
swift编写framework
为了在OC编写的项目中也能正常使用,有几个点需要注意
- 公开的类: 权限在public及以上
- 公开类的公开函数: @objc public
- 公开类的公开变量、常量: @objc public
- 枚举:@objc public,并且需要继承Int
@objc public enum ErrorType: Int {
case noError
}
- 全局常量、全局函数:像上面说的swift中的全局常量、全局函数在OC中是没办法取值、调用的,唯一的办法就是另外创建一个类,通过这个类间接取值