你好我有问题,因为当我按下按钮时我有一个+ = 1的var计数,所以当我更新de counter时它不会运行所有的segue。例如,如果count == 2,我想访问count == 1和count == 2
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "modos" {
if count == 1 {
if let destination = segue.destination as? ModosViewController {
destination.nnj1 = nombresJugadores[1]
}
}
if count == 2 {
if let destination = segue.destination as? ModosViewController {
destination.nnj2 = nombresJugadores[2]
}
}
答案 0 :(得分:0)
如果您真的希望能够将任意数量的名称传递给目标控制器,那么您当前的方法将无效。
您需要在目标视图控制器中拥有一个可以追加新名称的数组。这样,您只需调用目标控制器中每个项目的索引即可。使用您的方法,您将不得不创建无限量的nnj
变量,这显然是不可行的。
所以这看起来像这样:
class ModosViewController: UIViewController {
var names: [String] = [String]()
...
}
然后你可以做的只是将prepareForSegue
func更改为:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "modos" {
if let destination = segue.destination as? ModosViewController {
destination.names = nombresJugadores
}
}
}
因为现在您在源中有一个名称数组,您将其传递到目标VC。希望这会有所帮助。