SwiftコードにPI定数を含めるへの方法を見つけようとしています。 import Darwin
への別の答えですでに助けを見つけました。これはC関数にアクセスできることを知っています。
また、Math
のDarwin
パッケージを確認しましたが、次の宣言が見つかりました。
var M_PI: Double { get } /* pi */
だから、私はコードでPIを使用する方法があると仮定します、私はただ知りませんhow ...
Swift 3&4を使用すると、piは浮動小数点型のDouble
、Float
、およびCGFloat
の静的変数として定義されるため、特定のインポートは不要になりました。
Double.pi
Float.pi
CGFloat.pi
また、.pi
の実際の型は、コンパイラーによって推測できることに注意してください。だから、あなたが使用しているコンテキストから明らかな状況では、例えばCGFloat
、.pi
を使用できます(コメントで指摘してくれた@Qbyteと@ricksterに感謝します)。
Swiftの古いバージョンの場合:
M_PI
は元々Darwin
で定義されていますが、Foundation
およびUIKit
にも含まれているため、これらのいずれかをインポートすると適切なアクセスが可能になります。
import Darwin // or Foundation or UIKit
let pi = M_PI
注:コメントで述べたように、piはSwiftでunicode文字として使用することもできます。
let π = M_PI
alt + p
は、π
ユニコード文字を作成するショートカット(USキーボード上)です。
import Darwin
は必要ありません。すべてのM_xはimport Foundation
で表示されます
(Xcodeバージョン6.4(6E35b))
警告: 'M_PI'は非推奨です: 'Double.pi'または '.pi'を使用して正しい型の値を取得し、キャストを回避してください。
驚くべきことに、.piも正常に機能します。 M_PIは、Swift 4.2.1、Xcode 10.1で非推奨になりました。これは現在使用しているバージョンです。 SO、.pi、またはDouble.piを使用