I have class which with generic
class QUIViewController<VH, VM>: UIViewController where VH: QViewHolder, VM: QViewModel {}
class QViewHolder: NSObject {}
class QViewModel: NSObject {}
baseclass with common logic
class BaseViewHolder: QViewHolder{}
class BaseViewModel: QViewModel{}
class BaseViewController<VH, VM>: QUIViewController<VH, VM> where VH: BaseViewHolder, VM: BaseViewModel {}
subclass
class XXViewHolder: BaseViewHolder{}
class XXViewModel: BaseViewModel{}
class XXViewController: BaseViewController<XXViewHolder, XXViewModel> {}
I have a property vc which type is XXViewController
when I run po vc as? BaseViewController returns nil
when I run po vc as? BaseViewController<BaseViewHolder, BaseViewModel> returns nil
when I run po vc as? UIViewController returns UIViewController type of vc
when I run po vc as? BaseViewController<XXViewHolder, XXViewModel> returns BaseViewController type of vc but it contains subclass XXViewHolder and XXViewModel
but these is not I want.I only want to convert to BaseViewController without any subclass Info.
what should I do?