2016-07-10 15 views
0

だから私は、クラスのキャディーを持っている:カスタムオブジェクト配列内の特定のオブジェクトの参照、および変更値

class Caddy{ 

     var caddyName: String 
     var phoneNumber: Int 
     var email: String 
     var password: String 
     var caddyRank: String 
     var caddyLocation: Int 
     var proPic: UIImage 
} 

私はこれらのカスタムオブジェクト、caddyListの配列を持っています。

文字列caddyNameを使用して、配列内の特定のオブジェクトを参照する必要があります。

次に、特定のオブジェクトの値、具体的にはcaddyLocationの値を変更する必要があります。

Swift 2.0を使用してこれをどのように達成できますか?

答えて

0

注文が重要でない場合は、Caddysの配列の代わりにDictionaryのCaddysを使用する必要があります。これにより、コレクション内のどのカテゴリにもO(1)アクセスが可能になります。また、迅速にオブジェクトにアクセスして変更することも簡単です。

// Assume you have two Caddy objects, caddy1 and caddy2 
// Create the dictionary 
caddies = [caddy1.caddyName: caddy1, caddy2.caddyName: caddy2] // eg, etc... 

// Access and change the caddies location (if the name has a match) 
caddies["Bob"]?.caddyLocation = 2 

あなたはキャディが実際に存在すると変更が行われた時に知りたい場合は、それはif letで包みます。

let bobCaddyName = "Bob" 
if let _ = caddies[bobCaddyName] { 
    caddies[bobCaddyName]?.caddyLocation = 2 
} 
関連する問題