Ios Xcode 7 Swift 2无法实例化通用UITableViewController的UIViewController子类
我有一个通用类:Ios Xcode 7 Swift 2无法实例化通用UITableViewController的UIViewController子类,ios,swift,generics,swift2,Ios,Swift,Generics,Swift2,我有一个通用类: class PaginatedTableViewController <GenericElement, Source: PaginationDataSource where Source.PaginatedGenericElement == GenericElement>: UITableViewController 有人知道如何解决这个问题吗?不幸的是,通用Swift类对Objective-C代码不可见,并且在Interface Builde
class PaginatedTableViewController
<GenericElement, Source: PaginationDataSource
where Source.PaginatedGenericElement == GenericElement>:
UITableViewController
有人知道如何解决这个问题吗?不幸的是,通用Swift类对Objective-C代码不可见,并且在Interface Builder中也不受支持(在脚本和XIB中)。我认为这两点密切相关
作为一种解决方案,我建议您使用聚合:不要使您的视图控制器通用,而是将一些逻辑提取到另一个(通用)类中,并在视图控制器内部使用它。如果您通过
load()
方法(即调用)手动将通用VC加载到Objective-C运行时中,这是可能的<在应用程序代理的init方法中的code>PaginatedTableViewController.load()。来自
class CandidatesTableViewController:
PaginatedTableViewController<Match, MatchPaginationDataSource>
tableViewController = (segue.destinationViewController as! CandidatesTableViewController)