为了账号安全,请及时绑定邮箱和手机立即绑定

为什么协议中的唯一属性要求不能被符合的属性所满足?

为什么协议中的唯一属性要求不能被符合的属性所满足?

慕沐林林 2019-07-03 10:20:45
为什么协议中的唯一属性要求不能被符合的属性所满足?为什么下面的代码会产生错误?protocol ProtocolA {     var someProperty: ProtocolB { get }}protocol ProtocolB {}class ConformsToB: ProtocolB {}class SomeClass: ProtocolA {      // Type 'SomeClass' does not conform to protocol 'ProtocolA'    var someProperty: ConformsToB     init(someProperty: ConformsToB) {         self.someProperty = someProperty    }}这个类似问题的答案合乎道理。但是,在我的示例中,该属性是只获取的。为什么这不管用?这是SWIFT的一个缺点,还是有什么理由这样做是合理的?
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

如果你想要这种行为ProtocolA你应该associatedtype T: ProtocolB然后宣布var someProperty: T { get }

查看完整回答
反对 回复 2019-07-03
  • 2 回答
  • 0 关注
  • 561 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信