相关疑难解决方法(0)

检查变量是否为Optional,以及它包装的类型

是否可以检查变量是否是可选的,以及它包装的是什么类型?

可以检查变量是否是特定的可选:

let someString: String? = "oneString"
var anyThing: Any = someString

anyThing.dynamicType // Swift.Optional<Swift.String>
anyThing.dynamicType is Optional<String>.Type // true
anyThing.dynamicType is Optional<UIView>.Type // false
Run Code Online (Sandbox Code Playgroud)

但是有可能再次检查任何类型的可选项吗?就像是:

anyThing.dynamicType is Optional.Type // fails since T cant be inferred
// or 
anyThing.dynamicType is Optional<Any>.Type // false
Run Code Online (Sandbox Code Playgroud)

一旦知道你有一个可选的,检索它包装的类型:

// hypothetical code 
anyThing.optionalType // returns String.Type
Run Code Online (Sandbox Code Playgroud)

swift

13
推荐指数
2
解决办法
4064
查看次数

标签 统计

swift ×1