And*_*ino 7 arrays casting ios swift
如何将最初声明为Any对象的容器的数组转换为字符串数组(或任何其他对象)?示例:
var array: [Any] = []
.
.
.
array = strings // strings is an array of Strings
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:"无法指定字符串类型的值以键入任何"
我能怎么做?
您不能安全地映射改变一个变量的类型,一旦被宣布,所以你必须创建一个又一个,例如Any项目String有flatMap:
var oldArray: [Any] = []
var newArray: [String] = oldArray.flatMap { String($0) }
Run Code Online (Sandbox Code Playgroud)
小智 5
更新到 Swift 5
var arrayOfAny: [Any] = []
var arrayOfStrings: [String] = arrayOfAny.compactMap { String(describing: $0) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5257 次 |
| 最近记录: |