Avec Swift 3 & 4 , pi est désormais défini comme une variable statique sur les types de nombres à virgule flottante Double
, Float
et CGFloat
, par conséquent, aucune importation spécifique n'est plus nécessaire:
Double.pi
Float.pi
CGFloat.pi
Notez également que le type réel de .pi
peut être déduit par le compilateur. Donc, dans les situations où cela ressort clairement du contexte que vous utilisez, par exemple CGFloat
, vous pouvez simplement utiliser .pi
(merci à @Qbyte et @rickster pour l'avoir souligné dans les commentaires).
Pour les anciennes versions de Swift :
M_PI
est défini à l'origine dans Darwin
mais est également contenu dans Foundation
et UIKit
, donc l'importation de l'un de ces éléments vous donnera le bon accès.
import Darwin // or Foundation or UIKit
let pi = M_PI
Remarque:
comme indiqué dans les commentaires, pi peut également être utilisé comme caractère Unicode dans Swift, vous pouvez donc aussi bien le faire
let π = M_PI
alt + p
est le raccourci (sur les claviers américains) qui créera le π
caractère unicode.
var π = M_PI
var
. Sûrementlet pi = M_PI
?.pi
place de la forme longue. Par exemplelet x = CGFloat(42) * .pi
import Darwin
n'est pas nécessaire tous les M_x sont visibles avec leimport Foundation
(Xcode version 6.4 (6E35b))
la source
avertissement: «M_PI» est obsolète: veuillez utiliser «Double.pi» ou «.pi» pour obtenir la valeur du type correct et éviter la diffusion.
étonnamment, .pi fonctionne également très bien. M_PI est obsolète à partir de Swift 4.2.1, Xcode 10.1, qui est la version actuelle que j'utilise. SO, utilisez .pi ou Double.pi
la source