J'essaie de trouver un moyen de inclure la constante PI dans mon code Swift. J'ai déjà trouvé de l'aide dans une autre réponse, à import Darwin
à laquelle je sais que me donne accès à fonctions C.
J'ai également vérifié le package Math
dans Darwin
et suis tombé sur la déclaration suivante:
var M_PI: Double { get } /* pi */
Donc, je suppose qu'il y a un moyen d'utiliser PI dans le code, je ne sais tout simplement pas comment ...
Avec Swift 3 & 4, pi est maintenant défini comme une variable statique dans les types de nombres à virgule flottante Double
, Float
et CGFloat
, de sorte qu'aucune importation spécifique n'est effectuée. nécessaire plus:
Double.pi
Float.pi
CGFloat.pi
Notez également que le type actuel de .pi
peut être déduit par le compilateur. Ainsi, dans les situations où il est clair, dans le contexte, que vous utilisez, par exemple. CGFloat
, vous pouvez simplement utiliser .pi
(merci à @Qbyte et à @rickster pour l'avoir signalé dans les commentaires).
Pour anciennes versions de Swift:
M_PI
est défini à l'origine dans Darwin
mais il est également contenu dans Foundation
et UIKit
, si vous importez ces éléments pour vous donner le droit d'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.
let π = M_PI
alt + p
est le raccourci (sur les claviers américains) qui créera le caractère π
unicode.
import Darwin
n'est pas nécessaire, tous les M_x sont visibles avec le import Foundation
(Xcode Version 6.4 (6E35b))
avertissement: 'M_PI' est obsolète: veuillez utiliser 'Double.pi' ou '.pi' pour obtenir la valeur du type correct et éviter le transtypage.
étonnamment, .pi fonctionne également bien. M_PI est obsolète à partir de Swift 4.2.1, Xcode 10.1, qui correspond à la version actuelle que j'utilise. SO, utilisez .pi ou Double.pi