iOS在没有代码数据的情况下提供对象统计信息

时间:2017-08-01 14:18:19

标签: ios swift

我正在写一个iOS游戏,我有一个玩家,根据它的名字有不同的统计数据。我目前只是将它放在我的代码中:

switch name {
case "chicken":
    player.size = 20
    player.weight = 5
    ...

然而,将数据放入代码并不合适,如果我必须为大约25个不同的玩家执行此操作,那么它的工作量很大。有没有更好的方法呢?

1 个答案:

答案 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"

你可以在这里阅读一些协议: