2017-02-03 4 views
1

Wer weiß, ob es einen Weg gibt, einen Parameter von zwei Arten zu haben?Swift 3 Parameter: einzelne Variable, zwei Typen

Wie für die Funktion:

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

} 
+0

Suchen Sie den 'viewcontroller' Parametertypen zu akzeptieren, die sowohl von' UIViewController' erben und entsprechen 'MFMailComposeViewControllerDelegate'? Wenn ja, siehe [Swift: type muss das Protokoll implementieren und eine Unterklasse der angegebenen Klasse sein] (http://stackoverflow.com/q/25825988/2976878) – Hamish

Antwort

1

Genericize Definition Ihre Funktion ist:

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