2017-02-03 41 views
1

任何人都知道是否有办法让参数有两种类型?Swift 3参数:单变量,两种类型

如用于功能:

func email(from viewcontroller : (UIViewController, MFMailComposeViewControllerDelegate) { 

} 
+0

您正在寻找的'viewcontroller'参数接受的类型,无论从'UIViewController'继承和符合'MFMailComposeViewControllerDelegate'?如果是这样,请参见[Swift:type必须实现协议并且是给定类的子类](http://stackoverflow.com/q/25825988/2976878) – Hamish

回答

1

泛化你的函数的定义:

func email<T>(from viewController : T) where T: UIViewController, T: MFMailComposeViewControllerDelegate { 
    // ... 
}