2014-10-12 13 views
124

Ich versuche, einen Weg zu finden enthalten die PI-Konstante in meinem Swift Code. Ich habe bereits Hilfe in einer anderen Antwort gefunden, import Darwin die ich weiß, gibt mir Zugriff auf C-Funktionen.Wie bekomme ich mathematische PI Konstante in Swift

Ich habe auch das Math Paket in Darwin und kam über die folgende Erklärung abgegeben:

var M_PI: Double { get } /* pi */

Also nehme ich an, sich eine Möglichkeit, PI im Code zu verwenden ist, ich weiß es einfach nicht wie ...

Antwort

230

Mit Swift 3, pi jetzt als statischer Variable auf dem Gleitkommazahl Typ Double, definiert ist Float und CGFloat, so dass keine spezifischen Importe mehr erforderlich:

Double.pi 
Float.pi 
CGFloat.pi 

Beachten Sie auch, dass die tatsächliche Art der .pi kann durch den Compiler zu entnehmen. In Situationen, in denen aus dem Kontext klar ist, dass Sie z. CGFloat, können Sie einfach .pi verwenden (Danke an @Qbyte und @rickster für den Hinweis in den Kommentaren).

Für ältere Versionen von Swift:

M_PI ursprünglich in Darwin definiert wird, sondern auch in Foundation und UIKit enthalten, so dass jeder von ihnen den Import finden Sie den richtigen Zugang zu geben.

import Darwin // or Foundation or UIKit 

let pi = M_PI 

Hinweis: Wie in den Kommentaren erwähnt, pi auch als Unicode Charakter in Swift verwendet werden kann, so dass Sie auch

let π = M_PI 

tun könnten alt + p die Abkürzung ist (auf US-Tastaturen), die das Unicode-Zeichen π erzeugen.

+5

Als Swift Unicode unterstützt, können Sie auch tun 'var π = M_PI' – Cyrille

+21

Wie pi ist ein Konstante, es scheint pervers, es als eine 'var' zu erklären. Sicher "lass pi = M_PI"? – Grimxn

+0

@Cyrille klingt irgendwie cool, aber würde das nicht jedes Mal kopieren-einfügen, wenn wir darauf verweisen wollen? – Stavash

15

import Darwin ist nicht erforderlich alle m_x sichtbar sind mit dem import Foundation

(Xcode Version 6.4 (6E35b))