是否可以在swift中的扩展中定义类函数,就像在Objective-C类中一样,你也可以定义类函数?
objective-c
中的示例@implementation UIColor (Additions)
+ (UIColor)colorWithHexString:(NSString *)hexString
{
// create color from string
// ... some code
return newColor;
}
@end
什么是swift中的等价物?
答案 0 :(得分:23)
是的,它可能并且非常相似,主要区别在于Swift扩展名未命名。
extension UIColor {
class func colorWithHexString(hexString: String) -> UIColor {
// create color from string
// ... some code
return newColor
}
}
答案 1 :(得分:5)
记录。以下是上述解决方案的代码:
import UIKit
extension UIColor {
convenience init(hexString:String) {
// some code to parse the hex string
let red = 0.0
let green = 0.0
let blue = 0.0
let alpha = 1.0
self.init(red:red, green:green, blue:blue, alpha:alpha)
}
}
现在我可以使用:
迅速:
let clr:UIColor = UIColor(hexString:"000000")
理论上我应该可以在objective-c中使用:
UIColor *clr = [UIColor colorWithHexString:@"000000"];