首页 > 解决方案 > 我的函数有很多“如果”,我该如何构建一个循环来修复它?

问题描述

像这样,我没有为它建立模型,所以它有很多“如果”,我怎样才能建立一个循环来修复它?

    @State var player1show = true
    @State var player2show = true
    @State var player3show = true
    @State var player4show = true

func closeall() {
        if !player1show{
            player1show.toggle()
            player1.stop()
        }
        if !player2show{
            player2show.toggle()
            player2.stop()
        }
        if !player3show{
            player3show.toggle()
            player3.stop()
        }
        ...
    }

标签: swift

解决方案


  1. “player”是 Player 类的一个实例,它有一个属性“show”(或方法)以及方法 toggle() 和 stop()。也许为此有一个基类和虚拟可覆盖方法。这不是必须的,但是为所有玩家创建一个基类是很好的 OOP 实践,因此您可以为每个玩家类型指定更多。

  2. “玩家”是游戏中所有活跃玩家的数组或列表。您必须维护此列表。

     for player in players
     {
        if !player.show
        {
           player.toggle()
           player.stop()
        }
     } 
    

希望这能给你一个想法!


推荐阅读