let angle = 45° // angle will be in radians, 45 is in degrees
स्विफ्ट 3 के तहत संकलन । फिर भी सभी मान रखें, CGFloats के साथ रेडियन में सभी गणना करें ..., लेकिन डिग्री में स्थिरांक के साथ कोड को अधिक पठनीय बनाते हैं। उदाहरण के लिए: 90 °
° चिन्ह जादुई रूप से रेडियन रूपांतरण के लिए डिग्री प्रदान करेगा।
इसे कैसे सेट करें:
° चिह्न के लिए पोस्टफ़िक्स ऑपरेटर को परिभाषित और उपयोग करें। यह ऑपरेटर डिग्रियों से रेडियन में रूपांतरण करेगा। यह उदाहरण इनट्स के लिए है, अगर जरूरत है तो फ्लोट प्रकारों के लिए भी इनका विस्तार करें।
postfix operator °
protocol IntegerInitializable: ExpressibleByIntegerLiteral {
init (_: Int)
}
extension Int: IntegerInitializable {
postfix public static func °(lhs: Int) -> CGFloat {
return CGFloat(lhs) * .pi / 180
}
}
उपयोग के कुछ उदाहरण:
let angle = 45°
contentView.transform = CGAffineTransform(rotationAngle: 45°)
let angle = 45
contentView.transform = CGAffineTransform(rotationAngle: angle°)
चेतावनी!
दो बार इस रूपांतरण का उपयोग करना बहुत आसान है (गलती से पहले से ही रेडियन में एक मूल्य पर), आपको परिणाम के रूप में बहुत कम संख्या मिलेगी, और प्रतीत होता है कि परिणामी कोण हमेशा शून्य होगा ... उसी पर ° का उपयोग न करें मूल्य दो बार (दो बार कन्वर्ट नहीं) !! !!
// OBVIOUSLY WRONG!
let angle = 45°° // ° used twice here
// WRONG! BUT EASY TO MISS
let angle = 45° // ° used here
contentView.transform = CGAffineTransform(rotationAngle: angle°) // ° also used here