मैं जानता हूँ कि आप पहले से ही अपने जवाब मिल गया है, लेकिन मैं सिर्फ समझाने के लिए क्या (मुझे लगता है कि) चाहते हैं तुच्छ नहीं हो सकता है
सबसे पहले, हम कुछ NSData
हम NSString
को परिवर्तित करना चाहते है, क्योंकि कोई भी guaranties डेटा एक वैध UTF8 बफर है, यह एक वैकल्पिक
var variable = NSString(data:data, encoding:NSUTF8StringEncoding)
वापसी
variable: NSString?
आमतौर पर
NSString
जिसका मतलब है तेजी के String
को पाट कर रहा है, लेकिन इस मामले में, हम एक NSString
निर्माता का उपयोग करें - आप के रूप में अधिक वाक्य रचना की तरह एक "फाउंडेशन" है, जो सीधे आयात नहीं किया था इसके बारे में सोच सकते हैं तेज
हम अभी भी साथ NSString
if let unwrappedVariable = variable {
var number = unwrappedVariable.intValue
}
अगर'फाउंडेशन' जिस तरह से उपयोग कर सकते हैं (वहाँ NSData
के लिए कोई पुल के रूप में) 210 एक Float
है, लेकिन स्ट्रिंग एक पूर्णांक के एक स्ट्रिंग प्रतिनिधित्व
if let unwrappedVariable = variable {
var number: Float = Float(unwrappedVariable.intValue)
}
अगर दोनों number
और स्ट्रिंग (के प्रतिनिधित्व) कर रहे हैं तैरता है:
if let unwrappedVariable = variable {
var number:Float = unwrappedVariable.floatValue
}
वैसे भी, वहाँ का उपयोग कर के साथ एक छोटी सी समस्या है फाउंडेशन। इन प्रकार के रूपांतरणों के लिए इसमें वैकल्पिक मूल्य की कोई अवधारणा नहीं है (int, float के लिए)। यह 0 लौटाएगा यदि यह स्ट्रिंग को पूर्णांक या फ्लोट नहीं कर सकता है।प्रलेखन का शीघ्रता से अवलोकन के बारे में
if let variable: String = NSString(data: data, encoding: NSUTF8StringEncoding) {
if let integer = variable.toInt() {
var integerNumber = integer
var floatNumber = Float(integer)
}
}
क्या: यही कारण है कि यह तेजी से देशी
String
उपयोग करना बेहतर है है? https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/intValue। स्विफ्ट 2 में –