arrays - 声明具有特定类型但任意维数的数组

标签 arrays swift

我很好奇 Swift 中是否有任何方法可以声明具有特定类型的多维数组(在本例中我们会说 Float )但不限于固定数量的维度(例如, let arr: Array<Array<Float>> )?

我想创建一个接受多维数组的函数,目前我知道的唯一方法是:

func testFunction(arr: [Any]) {}

这是有问题的,因为它没有指定数组的实际标量类型。作为类型Any这意味着,这个函数可以接受任何卡在 Array 中的东西。 .有什么想法吗?

最佳答案

不仅仅是一个数组。每个数组都需要知道它包含什么类型。要包含任意数量的维度,每个数组都需要能够容纳 Float 或 Array。

您可以对具有两种情况的枚举做一些自定义的事情。

enum MultidimensionalArray<Element> {
    case array([MultidimensionalArray<Element>])
    case values([Element])
}

但您可能会根据自己的使用方式向它添加更多方法。

关于arrays - 声明具有特定类型但任意维数的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57914324/

相关文章:

javascript - Array Reduce Polyfill 说明

swift - UIView.animateKeyFramesWithDuration 动画不流畅

ios - Swift:如何使用 Alamofilre 或 SwiftyJSON 将 JSON 字符串转换为 ObjectMapper?

Swift UIBarButtonItem 添加手势识别器

ruby-on-rails - 如何允许哈希中的所有值

c++ - 声明指向整数数组的指针 C++

c# - C# 中的 Array.GetLength(dimension) 是如何工作的?

arrays - AutoIt 从数组中获取子数组

ios - UICollectionViewController 中的 collectionView 可选

ios - StackView 内容对齐