Anwendung für lange Zyklusblöcke

Ich habe folgenden Zyklus in meiner App

var maxIterations: Int = 0

func calculatePoint(cn: Complex) -> Int {

    let threshold: Double = 2
    var z: Complex = .init(re: 0, im: 0)
    var z2: Complex = .init(re: 0, im: 0)
    var iteration: Int = 0

    repeat {
        z2 = self.pow2ForComplex(cn: z)
        z.re = z2.re + cn.re
        z.im = z2.im + cn.im
        iteration += 1
    } while self.absForComplex(cn: z) <= threshold && iteration < self.maxIterations

    return iteration
}

und das Regenbogenrad wird während der Ausführung des Zyklus angezeigt. Wie kann ich verwalten, dass die App noch auf Benutzeroberflächenaktionen reagiert? Hinweis Ich habe NSProgressIndicator in einem anderen Teil des Codes aktualisiert, der nicht aktualisiert wird (der Fortschritt wird nicht angezeigt), während der Zyklus ausgeführt wird. Ich habe den Verdacht, dass es etwas mit Verschieben zu tun hat, aber ich bin damit ziemlich "grün". Ich bin für jede Hilfe dankbar. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage