Ausgabe
Ich verwende das Open-Source-Projekt ( NSBKeyframeAnimation ) für einige Animationen in meinem Projekt. Hier sind Beispiele für Methoden, die ich verwende:
double NSBKeyframeAnimationFunctionEaseInQuad(double t,double b, double c, double d)
{
return c*(t/=d)*t + b;
}
Ich habe meinen Xcode auf 5.0 aktualisiert, und jede Methode aus diesem Projekt zeigt mir Warnungen wie diese: “Unsequenced Modification and Access to ‘t’ “ . Soll ich alle Methoden in object-c umschreiben oder gibt es einen anderen Ansatz, um all diese Warnungen loszuwerden?
Lösung
Das Verhalten des Ausdrucks c*(t/=d)*t + b
ist undefined , und Sie sollten es korrigieren, z. B. to
t /= d;
return c*t*t + b;
Siehe zum Beispiel Undefiniertes Verhalten und Sequenzpunkte für eine detaillierte Erklärung.
Beantwortet von -Martin R
Antwort geprüft von – Candace Johnson (FixError Volunteer)