我有一些代码必须在所有UIViewController
应用程序上都可用。所以我创建了一个class UIViewControllerExtension: UIViewController
,它将被我想要用作UIViewController
的每个类扩展。哪个工作正常。
现在我有新的屏幕,我必须使用UITableViewController
,所以我不能扩展同一个类UIViewControllerExtension
,并保持代码集中,所以我不想创建另一个{{1}使用相同的代码,并希望为这两种情况提供一个通用的解决方案。
我尝试了各种方法来扩展泛型类class UITableViewControllerExtension
,所以我可以在两种情况下使用它,但它不起作用(因为它不会编译)。我在互联网上做了一些研究,但没有找到任何解决方案。有人有同样的问题并有解决方案吗?
我想如果会有像
这样的解决方案<T:UIViewController>
用法:
class CommonViewController<T:UIViewController>: T{ //I know it doesn't compile
//...
}
如果它解决了我的问题,我愿意接受任何其他解决方案。
修改:更多详情
1&GT;我想以常见的方式扩展class MyHomeScreenViewController: CommonViewController<UIViewController>{
}
class MyItemListScreenViewController: CommonViewController<UITableController>{
}
和viewDidLoad()
的{{1}}方法(不像以前那样重复代码)
2 - ;我想为UIViewController(和UITableViewController)添加一些支持方法,支持UIViewController
,UITableViewController
等方法。