タイトルはかなりすべてです。whileループからデータを取得する方法
私は色に変換されるランダムなRGB値を生成する関数を持っています。
私は、特定の輝度範囲内の色のみを使用したいので、whileループを使用してRGB値を作成してから、輝度範囲内で色を生成するまでループを維持したいと考えて輝度を確認してください。 は以下の作業をされていない、whileループではありません。
私の問題は、私は
編集全体の機能の一部として使用するwhileループの外にデータを取得する方法を考え出すことができないということですrandomcolorの値を返すと、Xcodeは初期化される前に使用されているというエラーを返します。 return文を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
}
上記doesntの仕事、ランダムな色の値を設定するforループdoesntの、偶数I場合return文を動かすと、全体的な関数がエラーをスローしてUIcolorを返したことを知らせてくれます。 – Mick
私はどれくらい明確にわかりますか、明確に私が試しているループの価値を得ることはできないと明言しましたする。エラーはすべて私がループから値を得ることができないという事実に由来します。私の元の質問は、どのように私はまだ質問のループからデータを取得することでした。あなたが尋ねたような情報を追加したので、お尻にしないでください。 – Mick