z Swift 3, PI jest teraz zdefiniowane jako zmiennej statycznej na zmiennoprzecinkowych typów numerów Double
, Float
i CGFloat
, więc nie są wymagane szczególne importuje więcej:
Double.pi
Float.pi
CGFloat.pi
Należy również pamiętać, że rzeczywisty typ .pi
można wywnioskować przez kompilator. Tak więc w sytuacjach, w których wynika to z kontekstu, z którego korzystasz, np. CGFloat
, możesz po prostu użyć .pi
(dzięki @Qbyte i @rickster za wskazanie tego w komentarzach).
Dla starszych wersji Swift:
M_PI
jest pierwotnie zdefiniowane w Darwin
ale jest również zawarte w Foundation
i UIKit
, więc importowanie każdy z nich daje prawo dostępu.
import Darwin // or Foundation or UIKit
let pi = M_PI
Uwaga: Jak zauważył w komentarzach, PI może być również używany jako unicode postacią Swift, więc równie dobrze można zrobić
let π = M_PI
alt + p
jest skrót (na Klawisze US), które stworzą znak Unicode π
.
Jak Swift obsługuje standard Unicode, można również zrobić 'var π = M_PI' – Cyrille
jako PI jest stała, wydaje się perwersyjna deklaracja jako "var". Na pewno 'let pi = M_PI'? – Grimxn
@Cyrille brzmi całkiem fajnie, ale czy nie oznaczałoby to kopiowania i wklejania za każdym razem, gdy chcemy się do niego odwoływać? – Stavash