首先,我有一个协议:
public protocol ContentList {
//...
}
还有一些
struct
s:public struct Post: ContentList {
//...
}
public struct Essay: ContentList {
//...
}
那么我有一个
UITableViewController
的子类:open class MainTableViewController<T: ContentList>: UITableViewController {
// ...
func getData() -> [T] {
retrun ...
}
}
这个类的UI部分
MainTableViewController
是在Main.storyboard
中定义的,所以我这样做了:let kMainTableViewControllerIdentifier = "MainTableViewController"
let listController = (self.storyboard.instantiateViewController(withIdentifier: kMainTableViewControllerIdentifier) as? MainTableViewController<Post>)!
listController.dataSourceType = .post
我犯了个错误:
Unknown class _TtC5Elias23MainTableViewController in Interface Builder file.
Could not cast value of type 'UITableViewController' (0x1af463db8) to 'Elias.MainTableViewController<Elias.Post>' (0x101907af8).
Could not cast value of type 'UITableViewController' (0x1af463db8) to 'Elias.MainTableViewController<Elias.Post>' (0x101907af8).
到目前为止,我还不知道如何解决这个问题。所以我需要帮助。
最佳答案