Mit Swift 3 und 4 wird nun pi als statischen Variable auf dem Gleitkommazahl Typ definiert Double
, Float
und CGFloat
, so werden keine spezifischen Importe mehr erforderlich:
Double.pi
Float.pi
CGFloat.pi
Beachten Sie auch, dass .pi
der Compiler den tatsächlichen Typ von ableiten kann. In Situationen, in denen aus dem Kontext klar hervorgeht, dass Sie z. B. verwenden CGFloat
, können Sie einfach verwenden .pi
(danke an @Qbyte und @rickster, die in den Kommentaren darauf hingewiesen haben).
Für ältere Versionen von Swift :
M_PI
ist ursprünglich in definiert, Darwin
aber auch in Foundation
und enthalten. UIKit
Wenn Sie also eines dieser Elemente importieren, erhalten Sie den richtigen Zugriff.
import Darwin // or Foundation or UIKit
let pi = M_PI
Hinweis:
Wie in den Kommentaren erwähnt, kann pi in Swift auch als Unicode- Zeichen verwendet werden
let π = M_PI
alt + p
ist die Verknüpfung (auf US-Tastaturen), mit der das π
Unicode-Zeichen erstellt wird.
var π = M_PI
var
. Sicherlet pi = M_PI
?.pi
anstelle der langen Form verwenden. ZBlet x = CGFloat(42) * .pi
import Darwin
wird nicht benötigt alle M_x sind mit dem sichtbarimport Foundation
(Xcode Version 6.4 (6E35b))
quelle
Warnung: 'M_PI' ist veraltet: Bitte verwenden Sie 'Double.pi' oder '.pi', um den Wert des richtigen Typs zu erhalten und das Casting zu vermeiden.
überraschenderweise funktioniert .pi auch gut. M_PI ist ab Swift 4.2.1, Xcode 10.1, der aktuellen Version, die ich verwende, veraltet. Verwenden Sie also .pi oder Double.pi
quelle