제목에 거의 모두 나와 있습니다.while 루프에서 데이터를 가져 오는 방법
색상으로 변환되는 임의의 RGB 값을 생성하는 함수가 있습니다.
나는 휘도 범위 내에서 색상을 생성 할 때까지 루핑을 계속하기를 원하는 아이디어로 휘도를 확인하면서 특정 루미넌스 범위 내에서만 색상을 원한다. 그래서 나는 while 루프를 사용하여 RGB 값을 만든다. 는 아래 작동하지 않는, while 루프가되지 않습니다 :
내 문제는 내가
편집 전체 기능의 일부로 사용하는 while 루프에서 데이터를 얻는 방법 작동하지 않을 수 있다는 것입니다 randomcolor에 대한 값을 반환하는 경우 Xcode는 초기화되기 전에 사용 중이라는 오류를 표시합니다. 반환 문을 for 루프로 옮기더라도 UIcolor를 반환하지 않았다는 전반적인 진술에 대해 오류가 발생합니다. 내가 뭘 하려는지 while 루프 밖에서 사용할 수 있도록 while 루프에서 색상 값을 가져 오는 것입니다.
func randomColor() -> UIColor{
var randomRed:CGFloat
var randomGreen:CGFloat
var randomBlue: CGFloat
var randomcolor: UIColor
var lum: CGFloat = 0.0
while lum < 50.0 {
randomRed = CGFloat(arc4random_uniform(256))
randomGreen = CGFloat(arc4random_uniform(256))
randomBlue = CGFloat(arc4random_uniform(256))
lum = sqrt(randomRed * randomRed * 0.241 + randomGreen * randomGreen * 0.691 + randomBlue * randomBlue * 0.068)
if lum > 50.0{
let color = rC(randomRed: randomRed, randomBlue: randomBlue, randomGreen: randomGreen)
randomcolor = color
}
}
return randomcolor
}
루프 나던에 대한 임의의 색상의 값을 설정 위의 나던 작업, 심지어 내가 만약 그냥 접근 방식을 설명하기 위해 UIColor를 사용했다 Return 문을 움직이면 전반적인 함수가 UIcolor를 리턴했다는 사실을 알리는 에러를 던진다. – Mick
내가 얼마나 명확한 지 모르겠다. 분명히 내가 시도하고있는 루프의 가치를 얻을 수 없다고 분명히 진술했다. 할 것. 오류는 모두 루프에서 값을 가져올 수 없다는 사실에서 비롯됩니다. 내 원래의 질문은 어떻게 여전히 질문입니다 루프 밖으로 데이터를 얻을 수 있습니다. 네가 묻는 것처럼 더 많은 정보를 추가했기 때문에 엉덩이가되지 마라. – Mick