我想问一个已经困扰了我一段时间的问题。
我创建了一个具有特定属性的类,并创建了一些对象来与它一起使用(示例中只显示了2个)
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
}
}
//Blue Square
let blueSquareObject = ShapeColour(color: "blue", shape: "square", image: UIImage(named: "BlueSquare.jpg")!)
//Red Square
let redSquareObject = ShapeColour(color: "red", shape: "sqaure", image: UIImage(named: "RedSquare.jpg")!)
接下来,我创建了一个包含所有对象的dict (同样,只显示了2个对象),并编写了一行代码尝试随机选择其中一个对象。
let allMainShape = [0:blueSquareObject,1:blueCircleObject]
let randomIndex = Int(arc4random_uniform(UInt32(allMainShape.count)))
我想知道如何随机生成一个对象,并从该生成中提取其中一个属性。我以为会是这样的:
print"Colour is \(allMainShape.color[randomIndex])"
谢谢,任何帮助都将不胜感激;)
发布于 2017-01-17 12:47:09
应该是allMainShape[randomIndex].color
而不是allMainShape.color[randomIndex]
。另外,与使用Dictionary
键创建Integer
不同,您需要使用ShapeColour
阵列。
所以你需要这样做。
let allMainShape = [blueSquareObject, blueCircleObject] //Gives you `[ShapeColour]`
//Now get random object from it.
let randomIndex = Int(arc4random_uniform(UInt32(allMainShape.count)))
print"Colour is \(allMainShape[randomIndex].color)"
https://stackoverflow.com/questions/41697498
复制相似问题