swift 中最通用的数据类型
The most generic datatype in swift
我首先搜索了我要查找的内容,这是我一生中第一次在网络上提出编码问题。我希望我做对了。
我需要在 swift 上创建一个包含任何内容的数组。
例如:
let myArr:[Any] = [4, somestruct1, somestruct2]
-> 这很好用
但我还需要一个数组的数组,甚至没有指定该数组的某个维度,例如:
let myArr:[Any] = [4, [somestruct1, somestruct2], [5, [4.5, somestruct3]]]
我认为 [Any]
能够表示数组,但编译器抱怨这种语法。
我可以做些什么来代表任何东西的集合?
您的代码无法运行,因为 swift 找不到 [5, [4.5, ss()]]
的类型
struct ss {} // a structure
let myArr1: [Any] = [4, [ss(), ss()], [5, [4.5, ss()]]] // Don't compile
现在我们在上下文不明确时告知编译器数组的类型:
let myArr2: [Any] = [4, [ss(), ss()], ([5, ([4.5, ss()] as [Any])] as [Any])]
我首先搜索了我要查找的内容,这是我一生中第一次在网络上提出编码问题。我希望我做对了。
我需要在 swift 上创建一个包含任何内容的数组。 例如:
let myArr:[Any] = [4, somestruct1, somestruct2]
-> 这很好用
但我还需要一个数组的数组,甚至没有指定该数组的某个维度,例如:
let myArr:[Any] = [4, [somestruct1, somestruct2], [5, [4.5, somestruct3]]]
我认为 [Any]
能够表示数组,但编译器抱怨这种语法。
我可以做些什么来代表任何东西的集合?
您的代码无法运行,因为 swift 找不到 [5, [4.5, ss()]]
的类型struct ss {} // a structure
let myArr1: [Any] = [4, [ss(), ss()], [5, [4.5, ss()]]] // Don't compile
现在我们在上下文不明确时告知编译器数组的类型:
let myArr2: [Any] = [4, [ss(), ss()], ([5, ([4.5, ss()] as [Any])] as [Any])]