2015-10-16 125 views
0

我陷入了使用3d數組的情況。我有以下的父母子女類:在3d數組中追加一個2d數組Swift

class Parent { 
} 
class Child: Parent { 
} 

林能夠創建父類型的二維數組,並與孩子類型的一維數組追加它:

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

上面的代碼工作正常。

但是,當我創建父類型的3D陣列,並與孩子類型的二維數組追加它,我得到錯誤:

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

即時得到以下錯誤:

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

任何想法?

回答

0

你的問題在類型,看近:

arr3dParent.append(arrChild2d) 

您試圖追加[[Child]][[[Parent]]]陣列

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

這工作

+0

katleta3000,但孩子是一個類型的家長。而且,它適用於追加了1d子數組的2d父數組的情況。 – iAmd