2016-07-10 9 views
0

Поэтому у меня есть класс Caddy:Ссылка конкретный объект в массиве пользовательского объекта, а изменение значения

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 вместо массива 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 
}