gpt4 book ai didi

ios - 字符串作为 Swift 中的对象引用

转载 作者:行者123 更新时间:2023-11-28 08:45:11 25 4
gpt4 key购买 nike

我的类中有一个名为“game”的对象,我可以访问其中另一个名为“computer1”的对象。

例如:

game.computer1.doSomeMethod()

但是,有三台计算机(computer1、computer2、computer3),我随机选择一台计算机,然后使用String 作为对象引用。

我的尝试:

var computerNumber = arc4random_uniform(2) + 1
var computer:String = "computer" + String(computerNumber)
game.computer.doSomeMethod() // this line doesn't work

我想避免将随机数传递给对象 Game 和一组 if-else 语句,然后最终选择对我选择的对象执行一系列操作。

有什么办法可以解决这个问题吗?

最佳答案

为什么不使用数组而不是属性?

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()

关于ios - 字符串作为 Swift 中的对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35520253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com