2017-08-01 32 views
-1

我正在寫一個iOS遊戲,我有一個玩家根據它的名稱有不同的統計數據。目前我只是把它在我的代碼:iOS給出的對象統計數據中沒有代碼

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

但是,它不覺得正確的數據放在代碼和它的很多工作,如果我有大約25個不同的球員做到這一點。有沒有更好的方法來做到這一點?

+0

您可以使用外部數據庫,但我真的不看如果真的只有25名球員,這種方法存在問題。只要確保你將它存儲在一個單獨的模型文件中,你就會好起來的。 – the4kman

+0

你在使用這些信息的時候,在UI中顯示它,或者在其他地方的代碼中使用它來計算一些東西?無論如何,你認爲它可以放在哪裏?在一個文件中?直接在UI上?我不明白這些如何讓你的生活更輕鬆。無論您存儲在何處,您都必須至少寫下一次這些信息。如果您將其存儲在代碼中,則可以從代碼中的任何其他位置引用它,在UI上顯示它或將其存儲在文件中,如果您稍後決定更改它,則只需要立即更改它。 –

+0

我正在用它來計算一些東西。我認爲可能有一個更清晰的方式來處理這個問題,但如果沒關係,我會堅持下去。謝謝! –

回答

0

正如其他人在評論中所述,您可以將這些數據存儲在您的代碼中。不過,您可能希望使用。下面是我在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" 

你可以做一些協議讀了這裏:

+0

謝謝你的詳細解答 –

相關問題