【问题标题】:Appending a 2d array in a 3d array Swift在 3d 数组 Swift 中附加 2d 数组
【发布时间】:2016-01-15 07:57:48
【问题描述】:

我陷入了使用 3d 数组的情况。我有以下父类和子类:

class Parent {
}
class Child: Parent {
}

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

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

上面的代码运行良好。

但是当我创建一个父类型的 3d 数组并附加一个子类型的 2d 数组时,我得到错误:

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

我收到以下错误:

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

有什么想法吗?

【问题讨论】:

    标签: arrays swift multidimensional-array append


    【解决方案1】:

    你的问题出在类型上,仔细看:

    arr3dParent.append(arrChild2d)
    

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

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

    这行得通

    【讨论】:

    • katleta3000,但是 Child 是 Parent 的一种。此外,它适用于附加 1d 子数组的 2d 父数组的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2015-03-31
    • 2016-12-23
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多