美文网首页
protocol:Cannot assign to proper

protocol:Cannot assign to proper

作者: ufogxl | 来源:发表于2022-08-11 11:38 被阅读0次
    截屏2022-08-12 11.33.19.png

    协议定义如下:

    protocol BaseViewModelProtocol{
        var goBack:(() -> Void)? { get set }
    }
    protocol MusicDetailViewModelProtocol:BaseViewModelProtocol{
    
    }
    

    viewModel定义如下:

    class MusicDetailViewModel:MusicDetailViewModelProtocol{
        var goBack: (() -> Void)?
    }
    

    当直接实现BaseViewModelProtocol时,并不会报这个错

    解决方案:

    添加@objc标识,告诉编译器实现该protocol的对象是引用类型

    @objc protocol BaseViewModelProtocol{
        var goBack:(() -> Void)? { get set }
    }
    

    参考链接:
    Cannot assign to property in protocol constrained to class - Swift compiler error

    相关文章

      网友评论

          本文标题:protocol:Cannot assign to proper

          本文链接:https://www.haomeiwen.com/subject/bqvxgrtx.html