मैं स्विफ्ट 1.2 उपयोग कर रहा हूँ मेरे iPhone आवेदन को विकसित करने और एक निश्चित बिंदु पर एक http वेब सेवा के साथ संवाद करने मिला ....यूआरएल डिकोड आईओएस स्विफ्ट
प्रतिक्रिया मैं हो रही है (कुंजी क्वेरी स्ट्रिंग स्वरूप में है -वर्त जोड़े) और यूआरएल एनकोड में एनकोडेड।
मैं प्रतिक्रिया प्राप्त कर सकता हूं, लेकिन स्विफ्ट का उपयोग करके डीकोड करने का उचित तरीका देख रहा हूं। लेकिन यह नहीं हटाया है + चिह्न (इनकोडिंग रिक्त स्थान)
:नमूना प्रतिक्रिया के रूप में इस प्रकार है
status=1&message=The+transaction+for+GBP+12.50+was+successful
की कोशिश की
// This provides encoded response String
var responseString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
var decodedResponse = responseString.stringByReplacingEscapesUsingEncoding(NSUTF8StringEncoding)!
समस्या को डिकोड और सर्वर प्रतिक्रिया प्राप्त करने के लिए जिस तरह से पीछा कर रहा है
जावा (एंड्रॉइड) में मैं सफलतापूर्वक डीकोड कर सकता हूं और अपेक्षित प्रतिक्रिया प्राप्त कर सकता हूं जैसे
String responseStr = URLDecoder.decode(responseString, "UTF-8");
लेकिन आईओएस में स्विफ्ट के साथ यह सीधे आगे नहीं है।
मैं सिर्फ पाया कुछ POSTS समझा समाधान (, की जगह "के साथ" + उपयोग करने से पहले 'stringByReplacingEscapesUsingEncoding' विधि), लेकिन स्विफ्ट में एक विश्वसनीय और एक सीधे आगे रास्ता (भाषा एपीआई विधि) की तलाश में यदि संभव हो तो
संपादन
मैं इसे निम्नानुसार काम कर सकता हूं, लेकिन यदि जावा में उपलब्ध है तो मैं एक भाषा एपीआई विधि की तलाश कर रहा हूं (SWIDT विधि का उपयोग करने से पहले "स्पेस" के साथ "+" जगह को ठीक से एनोड करें
var result = responseString.stringByReplacingOccurrencesOfString("+", withString: " ")
var decodedResponse = result.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
बाद में स्विफ्ट 2 को अपडेट करने के लिए सबसे अच्छा। और यह वास्तव में कोड के लिए बेहतर और आसान है। – zaph
"' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' को 'स्ट्रिंगब्यरलिंग एस्केपस यूजिंग एन्कोडिंग' विधि का उपयोग करने से पहले" तो समस्या क्या है? ऐसा करो और देखें कि क्या होता है। – matt
@ मैट, हाँ, मैंने इसे किया है और + अंतरिक्ष के साथ बदल दिया गया है। लेकिन सोच रहा है कि क्या कोई अन्य विशेष मामला (जैसे +) हो सकता है और सर्वर को – JibW