Swift 3参数:单变量,两种类型
问题描述:
任何人都知道是否有办法让参数有两种类型?Swift 3参数:单变量,两种类型
如用于功能:
func email(from viewcontroller : (UIViewController, MFMailComposeViewControllerDelegate) {
}
答
泛化你的函数的定义:
func email<T>(from viewController : T) where T: UIViewController, T: MFMailComposeViewControllerDelegate {
// ...
}
您正在寻找的'viewcontroller'参数接受的类型,无论从'UIViewController'继承和符合'MFMailComposeViewControllerDelegate'?如果是这样,请参见[Swift:type必须实现协议并且是给定类的子类](http://*.com/q/25825988/2976878) – Hamish