2016-11-04 1 views
0

나는이 콘센트가 ...매우 유사한 줄을 10 번 작성하는 대신 비슷한 이름을 가진 아웃렛에서 동일한 방법을 수행하는 방법은 무엇입니까?

@IBOutlet weak var pill1: UIImageView! 
@IBOutlet weak var pill2: UIImageView! 
@IBOutlet weak var pill3: UIImageView! 
@IBOutlet weak var pill4: UIImageView! 
@IBOutlet weak var pill5: UIImageView! 
@IBOutlet weak var pill6: UIImageView! 
@IBOutlet weak var pill7: UIImageView! 
@IBOutlet weak var pill8: UIImageView! 
@IBOutlet weak var pill9: UIImageView! 
@IBOutlet weak var pill10: UIImageView! 

이 나는 ​​'있는 viewDidLoad'기능에 그들 모두를 숨길 필요가있다. 예를 들어 ...

self.pill1.isHidden = true 
self.pill2.isHidden = true 
self.pill3.isHidden = true 
etc... 
etc....all the way to... 
self.pill10.isHidden = true 

는하지만 그 대신 어떻게 매우 유사 번, 반복적 라인 10 초를 작성하는 나는 '루프'를 사용, 또는 무엇이든은 더 청소기 만들기 위해 필요합니다. 예를 들어

for index in 1...10 { 

    pill(insert index here somehow).isHidden = true 

} 

나는 몇 가지 방법을 시도,하지만 난 문자열 유형 등으로 오류가 나는이 모든 새로운 오전 얻고 있었다. 어떤 도움을 주셔서 감사합니다. 당신이

+0

콘센트 컬렉션을 사용하십시오. 덕분에 – rmaddy

답변

0

당신은 다음과 같은 배열로 의견을 넣을 수 있습니다 감사합니다 :

for pill in [pill1, pill2, pill3, pill4, pill5, pill6, pill7, pill8, pill9, pill10] { 
    pill.isHidden = true 
} 

당신은 @IBOutlet 컬렉션을 사용 고려할 수 있습니다. 이 경우 모든 소매점은 동일한 콜렉션 (배열) 변수에 연결됩니다.

@IBOutlet var pills: [UIImageView]! 

for pill in pills { 
    pill.isHidden = true 
} 
+0

. '환약'이란 어때? 그것은 반복적입니다. 그것의 끝 부분에 다른 숫자를 추가하는 방법이 없으며 중괄호 안에 '먹는 피임약'을 보관 하시겠습니까? – koz

+0

마찬가지로 대괄호 안에 반복해서 쓰여지는 반복적 인 '먹는 피임약'을 없애는 것과 같습니다. – koz

+0

배열 리터럴'[]'의 이름은'@ IBOutlet'에 정의 된 이름과 일치해야합니다. 아웃렛을 저장하는 배열 인'@ IBOutlet' 컬렉션을 사용할 수 있습니다. 배열의 항목 순서에 신경 쓰지 않으면 작동합니다. – vacawama

관련 문제