Der Titel sagt so ziemlich alles.Wie bekomme ich Daten aus einer While-Schleife
Ich habe eine Funktion, die zufällige RGB-Werte generiert, die in eine Farbe konvertiert werden.
Ich möchte nur Farben innerhalb eines bestimmten Luminanzbereichs, also verwende ich eine While-Schleife, um die RGB-Werte zu erstellen, dann überprüfe die Luminanz mit der Idee, dass ich Schleife halten will, bis sie eine Farbe im Luminanzbereich erzeugt.
Mein Problem ist, dass ich nicht herausfinden kann, wie Daten, um aus der while-Schleife als Teil der Gesamtfunktion zu verwenden
Edit: die unten nicht funktioniert, die while-Schleife ist nicht Wenn Sie einen Wert für randomcolor ausgeben, gibt Xcode nur einen Fehler aus, der besagt, dass es vor der Initialisierung verwendet wird. selbst wenn ich die return-Anweisung in die for-Schleife hochsetze, erhalte ich nur einen Fehler für die allgemeine Aussage, dass ich keine UIcolor zurückgegeben habe. Was ich versuche, ist, den Farbwert aus der while-Schleife zu entfernen, damit er außerhalb der while-Schleife verwendet werden kann.
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
}
Die oben nicht funktioniert, der for-Schleife doesnt den Wert von zufälliger Farbe gesetzt, auch wenn i Verschieben Sie die return-Anweisung Die Gesamtfunktion löst einen Fehler aus Ich habe keine UIcolor zurückgegeben – Mick
Ich weiß nicht, wie viel klarer ich sein kann, ich habe klargestellt, dass ich den Wert nicht aus der Schleife herausholen kann, was ich versuche machen. Die Fehler rühren von der Tatsache her, dass ich den Wert nicht aus der Schleife herausholen kann. Meine ursprüngliche Frage war, wie bekomme ich die Daten aus der Schleife, die immer noch die Frage ist. Sei kein Arsch, weil ich mehr Informationen hinzugefügt habe, als du gefragt hast. – Mick