相关疑难解决方法(0)

如何从任何类型解包可选值?

给定一个包含[Any]可选值和非可选值的数组,例如:

let int:Int? = 1
let str:String? = "foo"

let values:[Any] = [int,2,str,"bar"]
Run Code Online (Sandbox Code Playgroud)

我们怎样才能提取的值OptionalAny类型(如果有的话),所以我们可以创建一个通用的打印功能,仅打印出的值.

例如,这个printArray函数遍历并打印每个元素:

func printArray(values:[Any]) {
    for i in 0..<values.count {
        println("value[\(i)] = \(values[i])")
    }
}

printArray(values)
Run Code Online (Sandbox Code Playgroud)

哪个会输出:

value[0] = Optional(1)
value[1] = 2
value[2] = Optional("foo")
value[3] = bar
Run Code Online (Sandbox Code Playgroud)

我们如何更改它以便它只打印基础值,以便在可选时将其展开值?例如:

value[0] = 1
value[1] = 2
value[2] = foo
value[3] = bar
Run Code Online (Sandbox Code Playgroud)

更新进度......

更改参数时它可以工作[Any?],例如:

let values:[Any?] = [int,2,str,"bar"]

func printArray(values:[Any?]) {
    for i in 0..<values.count {
        println("value[\(i)] = \(values[i]!)") …
Run Code Online (Sandbox Code Playgroud)

swift

51
推荐指数
5
解决办法
1万
查看次数

标签 统计

swift ×1