这里我有一个类函数public class func testing() -> Self
:
public extension UIViewController {
public class func testing() -> Self {
return getInstance()
}
}
以及我无法修改的getInstance() -> UIViewController
函数:
public func getInstance() -> UIViewController {
return UIViewController()
}
现在,如何在getInstance()
函数中将Self
函数的返回值转换为testing()
?
return getInstance() // error
return getInstance() as! Self // error
return getInstance() as! UIViewController // error
答案 0 :(得分:2)
只需将您的功能更改为
即可public extension UIViewController {
public class func testing() -> UIViewController {
return getInstance()
}
}
该函数需要指定一个返回 Type ,在这种情况下,它总是UIViewController,就像你扩展的类型一样。