相同属性的协议组成

有办法实现吗?

protocol VCProtocol1: UIViewController {
    var viewModel: VMProtocol1? { get set }
}

protocol VCProtocol2: UIViewController {
    var viewModel: VMProtocol2? { get set }
}

class VC: UIViewController, VCProtocol1, VCProtocol2 {
    var viewModel: (VMProtocol1 & VMProtocol2)?
}

我想做的是在ViewController上进行合成,以避免在多个ViewController中重新实现相同的代码。

评论