2017-03-08 92 views
-2

我想创建一个我创建的对象的一个​​arrray。我将包括对象的例子。但是,每次尝试时,都会收到错误:“预期声明”。我也遇到了一个数组未被识别的错误。这是因为我不得不提到数组中的某个类?Array of Objects - Swift

class ShapeColour : NSObject { 
    var colour:String 
    var shape:String 
    var image:UIImage 

    init(color: String, shape: String, image: UIImage) { 
     self.colour = color 
     self.shape = shape 
     self.image = image 
    } 

} 

以上是类,下面是一个〔实施例

let redTriangleObject = ShapeColour(color: "red", shape: "triangle", image: UIImage(named: "redTriangle.png")!) 

娄是阵列

mainShapeDict = [blueSquareObject,blueCircleObject,blueTriangleObject,redSquareObject,redCircleObject,redTriangleObject,yellowSquareObject,yellowCircleObject,yellowTriangleObject] 

谢谢!

+2

'mainShapeDict'不是一个字典,它是一个数组。 – Alexander

回答

2

你只需要说letmainShapeDict

let mainShapeDict = [blueSquareObject, blueCircleObject, blueTriangleObject, redSquareObject, redCircleObject, redTriangleObject, yellowSquareObject, yellowCircleObject, yellowTriangleObject]

这就是为什么它说:“预期的宣言”,因为你还没有宣布我猜测任何其他代码mainShapeDict。

1

你应该首先声明数组 这样

var mainShapeDict : [ShapeColour] = [ShapeColour]() 

那么你可以使用.append梅索德添加 “ShapeColour” 对象

let redTriangleObject : ShapeColour = ShapeColour(color: "red", shape: "triangle", image: UIImage(named: "redTriangle.png")!) 
mainShapeDict.append(redTriangleObject) 

注:mainShapeDict是一个数组,而不是一本字典