2016-07-10 2 views
0

은 그래서 클래스 캐디가 있습니다.참조 특정 객체 및 변경 값

caddyName 문자열을 사용하여 배열의 특정 개체를 참조해야합니다.

그런 다음 해당 특정 개체의 값, 구체적으로 caddyLocation 값을 변경해야합니다.

어떻게 이것을 Swift 2.0을 사용하여 수행 할 수 있습니까?

답변

0

주문이 중요하지 않은 경우 Caddys 배열 대신 Caddys의 Dictionary을 사용해야합니다. 그러면 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 
}