2016-09-21 2 views
0

나는 switch 문이 있고 각각의 경우에 본인은 문장의 숫자가이 인스턴스의Swift에서 여러 변수에 속성을 어떻게 할당합니까?

star1.isHidden = true 

star1 이미지보기입니다. star2, star3 등과 같은 여러 변수에이 값을 할당하는 방법이 있습니까? 10 가지 경우 코드의 많은 행에 해당하므로 더 효율적으로 읽을 수있는 방법이 있다고 생각합니다.

답변

3

인터페이스 작성기를 사용하는 경우 OutletCollection을 사용할 수 있습니다. 그렇지 않으면 모든 변수의 배열을 만들고 for-in 루프를 사용할 수 있습니다.

0

가장 많이 사용되는 방법 중 하나는 for 루프입니다. 이 경우 당신은 배열과 같은 별의 컬렉션을 필요 : 당신에게 더 나은 권장 사항을 제공하려면 설정에 대한 충분한 정보가 없다 [Star]()

for (star in stars) { 
    star.isHidden = true 
} 

.

0

개체가 NSObject 기반 인 경우 키 - 값 코딩을 사용할 수 있습니다. 이것은 스위프트 놀이터에 있지만 그것은 어디에서나 작동합니다

class Star:NSObject { 
    public var hidden = false 
} 

let star1 = Star() 
let star2 = Star() 
let star3 = Star() 
let star4 = Star() 
let star5 = Star() 
let starMap:NSArray = [star1, star2, star3, star4] 

starMap.setValue(true, forKey: "hidden") 

Playground Result

1

이 전망의 배열을 반복 할 수있는 별도의 방법을 만듭니다.

var starViews: [UIView] { 
    return [star1, star2, star3, /* add the rest of the stars here */] 
} 

func setStarViews(hidden hidden: Bool) { 
    for starView in starViews { 
    starView.hidden = hidden 
    } 
} 
관련 문제