// swift 3.0
public protocol StoryboardInstantiable { }
extension StoryboardInstantiable where Self: UIViewController {
public static func create(of storyboard: Storyboard) -> Self {
return UIStoryboard(storyboard: storyboard).instantiateViewController()
}
}
extension UIViewController: StoryboardInstantiable { }
let vc = HomeViewController.create(of: .Home)
I have an idea: