여기 consAry
의 유형은 [NSLayoutConstraint?]
이 유형 NSLayoutConstraint
의 optional
객체를 포함하고 루프 명시 적 NSLayoutConstraint
에 유형을 말과 non-optional
을 의미합니다 의미입니다, 그래서를 제거하고 루프 내부의 옵션 값 또는 사용을 풀어 하나 for 루프를 사용하여 을 consAry
에 지정하십시오.
옵션 1 :
for constraint in consAry {
if ((i > 2) && (screenHeight <= 568)){
padding = 10
}
constraint?.constant = padding
i = i + 1
}
는 옵션 2 루프와 명시 적 사양을 제거하여 선택적 포장이 할 수있는 경우를
for constraint in consAry {
if ((i > 2) && (screenHeight <= 568)){
padding = 10
}
if let currentConstraint = constraint {
currentConstraint.constant = padding
}
i = i + 1
}
옵션 3 : flatMap
consAry에
for constraint in consAry.flatMap ({ $0 }) {
if ((i > 2) && (screenHeight <= 568)){
padding = 10
}
constraint.constant = padding
i = i + 1
}
참고 : 여기서 색인 생성에 i
을 사용하고 있으므로 대신 for 루프와 함께 enumerated()
을 사용하십시오.
for (i, constraint) in consAry.flatMap ({ $0 }).enumerated() {
if ((i > 2) && (screenHeight <= 568)){
padding = 10
}
constraint.constant = padding
}
값을 할당 할 수있는 마지막 코드 -에 대한 오류가 '내가'는 상수 –
@ThripthiHaridas가 줄을 제거 할 수 있습니다 자동으로 루프 값의 변화의 각 반복에서 필요가 없습니다. 또한 행'var i : Int = Int (0)'을 선언 할 필요가 없습니다. –
@Nirav D 답장을 보내 주셔서 감사합니다. 내 시간을 저장 했어. –