我正在写一个iOS游戏,我有一个玩家,根据它的名字有不同的统计数据。我目前只是将它放在我的代码中:
switch name {
case "chicken":
player.size = 20
player.weight = 5
...
然而,将数据放入代码并不合适,如果我必须为大约25个不同的玩家执行此操作,那么它的工作量很大。有没有更好的方法呢?
答案 0 :(得分:0)
正如其他人在评论中所说,您可以将这些数据存储在您的代码中。您可能希望使用protocol
。以下是我在Swift Playground中放置的快速内容,您可以将其用作参考。
import UIKit
protocol PlayerProtocol {
var name: String { get }
var size: Int { get }
var weight: Int { get }
}
struct Chicken: PlayerProtocol {
var name: String = "Chicken"
var size: Int = 20
var weight: Int = 5
}
struct Turkey: PlayerProtocol {
var name: String = "Turkey"
var size: Int = 30
var weight: Int = 10
}
class MyClass {
func myFunc(player: PlayerProtocol) {
print(player.size)
}
}
MyClass().myFunc(player: Chicken()) // prints "20"
你可以在这里阅读一些协议: