我试图做这样的事情:如何在swift方便初始值设定项中返回自定义对象?
public extension UIImage {
public convenience init(whatever: Int) {
UIGraphicsBeginImageContextWithOptions(...)
//...
let image = UIGraphicsGetImageFromCurrentContext()
UIGraphicsEndImageContext()
return image // <- impossible
}
}
但是,这是不可能的,因为“无”是一个初始化的唯一有效的回报......我该怎么办呢?例如,Objtive-C方法[UIImage imageNamed:]是一个类方法(它可以在Objective-C中返回任何它想要的),并将其映射到swift初始化程序UIImage(named :)。
这是一个有点伤心你不能在Swift中返回一个不同的对象。我有这个框架,在故事板中定义了这个复杂的视图控制器。我想能够覆盖'init()'甚至创建一个自定义的初始化程序来以编程方式实例化视图控制器,并使用它的子视图/插口等来设置它。但唯一的方法是使用工厂方法.. 。 –