我创建了一个iOS应用程序来仲裁柔道比赛。我的应用程序有一个Fighter
类。在这个Fighter
类中,我还有一个opponent
属性,它也是Fighter
类型的。所以我有这样的东西:
class Fighter {
...
var opponent: Fighter?
...
}
var fighter1 = Fighter()
var fighter2 = Fighter()
fighter1.opponent = fighter2
fighter2.opponent = fighter1
我宣布它是可选的,但我被卡住了,因为我不想它是可选的,一个战士必须有一个对手。这样做很好,但我不喜欢,最后我得到了很多不必要的
if let
或!
。而且很难看。我怎样才能做得更好更安全?
最佳答案
与其让一个战斗机包含另一个战斗机,不如创建一个包含两个战斗机对象的匹配对象。类型不应包含自身。
例如:
struct Match{
let fighterOne: Fighter
let fighterTwo: Fighter
}
关于swift - 包含自己类型的属性的Swift类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53871917/