fpg*_*503 12 covariance optional swift
协方差如何Optional
在Swift中运行?
说我写下面的代码:
var nativeOptionalView: Optional<UIView>
let button = UIButton()
nativeOptionalView = .Some(button)
var nativeOptionalButton = Optional.Some(button)
nativeOptionalView = nativeOptionalButton
Run Code Online (Sandbox Code Playgroud)
它编译和工作得很好.但是,如果我定义MyOptional
为
enum MyOptional<T> {
case Some(T)
case None
}
Run Code Online (Sandbox Code Playgroud)
并写下以下内容:
var myOptionalView: MyOptional<UIView>
let button = UIButton()
myOptionalView = .Some(button)
var myOptionalButton = MyOptional.Some(button)
myOptionalView = myOptionalButton
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误:无法指定类型'
MyOptional<UIButton>
'的值来键入'MyOptional<UIView>
'
我理解为什么会出现这种错误MyOptional
,我不明白为什么它不会发生Optional
.
归档时间: |
|
查看次数: |
405 次 |
最近记录: |