我想要做类似于这样的事情:
public extension UIImage {
public convenience init(whatever: Int) {
UIGraphicsBeginImageContextWithOptions(...)
//...
let image = UIGraphicsGetImageFromCurrentContext()
UIGraphicsEndImageContext()
return image // <- impossible
}
}
但这是不可能的,因为“nil”是初始化程序的唯一有效返回值...我该怎么办?
例如,Objtive-C方法[UIImage imageNamed:]是一个类方法(在Objective-C中它可以返回任何想返回的内容),并且它被映射到了Swift初始化程序UIImage(named:)。
init()
或者创建一个自定义初始化程序来以编程方式实例化视图控制器,并将其设置为其子视图/插座等。但唯一的方法是使用工厂方法... - Nicolas Miari