作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
如何将扩展限制为仅在关联类型为可选时才匹配?
例如:
protocol FooProtocol: class {
associatedtype BarType
var contents: BarType { get }
}
extension FooProtocol where BarType: Optional<Any> {
func unwrap() -> BarType {
return self.contents!
}
}
class BazClass: FooProtocol {
typealias BarType = String?
var contents: BarType
}
此错误与 Type 'Self.BarType' constrained to non-protocol type 'Optional<Any>'
在扩展的左括号上。我也试过 Any?
, BarType?
代替 Optional<Any>
.最后一个错误 Inheritance from non-named type 'BarType?'
相反。
我是一名优秀的程序员,十分优秀!