2017-08-01 2 views
-1

私は、その名前に応じて異なる統計を持つプレーヤを持つiOSゲームを作成しています。私は現在、単に私のコードでそれを入れています:コードにデータを持たないオブジェクト統計を与えるiOS

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

しかし、それはコード内のデータを置く権利を感じていないと私はおよそ25種類のプレーヤーのためにこれをしなければならない場合、それは多くの仕事です。これを行うための良い方法はありますか?

+0

あなたはこのために外部データベースを使用することができますが、私は本当に見ていません実際にわずか25人のプレイヤーがいる場合、このアプローチの問題。あなたが別のモデルファイルにそれを保存していることを確認してください。 – the4kman

+0

あなたは何かを計算するために、この情報をUIで表示したり、別の場所でコードで使ったりしていますか?いずれにせよ、どこに置くことができると思いますか?ファイルですか? UI上で直接?私はこれらのどれがあなたの人生をより楽にするのか見ていない。この情報は、店舗の場所に関係なく少なくとも1回は書き留めておく必要があります。コードに保存する場合は、コードのどこにでも参照したり、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

この詳細な回答ありがとうございます –