arrays - 在 3d 数组中添加 2d 数组 Swift

标签 arrays swift multidimensional-array append

我陷入了使用 3d 数组的情况。我有以下家长和 child 类(class):

class Parent {
}
class Child: Parent {
}

我能够创建父类型的二维数组并将其 append 到子类型的一维数组:

var arr2dParent:[[Parent]] = [[Parent]]()
var arr1dChild:[Child] = [Child]()
arr2dParent.append(arr1dChild)

上面的代码工作正常。

但是当我创建父类型的 3d 数组并将其 append 到子类型的 2d 数组时,我收到错误:

var arr3dParent:[[[Parent]]] = [[[Parent]]]()
var arrChild2d:[[Child]] = [[Child]]()
arr3dParent.append(arrChild2d)

我收到以下错误:

Cannot invoke 'append' with an argument list of type '([[Child]])'

有什么想法吗?

最佳答案

你的问题在于类型,仔细观察:

arr3dParent.append(arrChild2d)

您正在尝试将 [[Child]] 类 append 到 [[[Parent]]] 数组

var arrChild2d:[[Parent]] = [[Parent]]()

这有效

关于arrays - 在 3d 数组中添加 2d 数组 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172600/

相关文章:

javascript - 如何为未知 JSON 数据自动添加制表符列设置

c++ - unix minishell char 转换成 **char

ios - 调用Webservice时键盘关闭强制

ios - swift ,相机图像不返回

PHP 多维数组到平面文件夹 View

c# - 交换矩阵行的最佳方式?

javascript - 检查 2 个数组是否包含 javascript 中相同值的最快方法

javascript - 拆分最后两个词并在 javascript 中过滤

ios - 警告 : unnecessary check for minimum deployment target

matlab - 打印多维数组的值,并将输出作为兼容的 matlab 代码