Swift 3参数:单变量,两种类型

时间:2017-02-03 21:21:47

标签: swift delegates

任何人都知道是否有办法让参数有两种类型?

如功能:

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

}

2 个答案:

答案 0 :(得分:1)

按照函数的定义进行通用化:

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

答案 1 :(得分:0)

在Swift 4中

func email(from viewcontroller : UIViewController & MFMailComposeViewControllerDelegate) {
}

优雅,简短而直观。