我的课程中有一个名为“游戏”的对象,我可以在其中访问另一个名为“computer1”的对象。
例如:
self
但是,有三台计算机(computer1,computer2,computer3),我随机选择一台计算机,然后使用String作为对象参考。
我的尝试:
game.computer1.doSomeMethod()
我想避免将随机数传入对象Game和if-else语句的嵌套,然后最终选择对我选择的对象执行一系列操作。
有没有办法解决这个问题?
答案 0 :(得分:0)
为什么不使用数组而不是属性?
class Computer {
let number: Int
init(number: Int) {
self.number = number
}
func doSomeMethod() {
print("doing something with computer \(number)")
}
}
class Game
{
var computers: [Computer]
init() {
computers = [Computer]()
for i in 1...3 {
computers.append(Computer(number: i))
}
}
func callRandomComputer() {
let random = Int(arc4random_uniform(3))
computers[random].doSomeMethod()
}
}
let game = Game()
game.callRandomComputer()
game.callRandomComputer()
game.callRandomComputer()