मुझे "\b"
एक स्ट्रिंग बनाने में सक्षम होना चाहिए। लेकिन जब मैं कोशिश करता हूं, एक्सकोड संकलन-समय त्रुटि फेंकता है: शाब्दिक में अमान्य भागने अनुक्रम। मुझे समझ में नहीं आता क्यों, "\r"
बस ठीक काम करता है। अगर मैं "\\b"
डालता हूं तो वास्तव में स्ट्रिंग में संग्रहीत किया जाता है, जो मुझे चाहिए - मुझे केवल एक बैकस्लैश की आवश्यकता है। मेरे लिए, यह एक स्विफ्ट विषमता प्रतीत होता है क्योंकि यह उद्देश्य-सी में ठीक काम करता है।शाब्दिक में अमान्य भागने अनुक्रम: " b"
let str = "\b" //Invalid escape sequence in literal
NSString *str = @"\b"; //works great
मैं जब UIKeyCommand
का उपयोग कर इस स्ट्रिंग उत्पन्न करने के लिए क्योंकि "\b"
जब उपयोगकर्ता दबाया 'हटाएँ' पता लगाने के लिए एक ही रास्ता है की जरूरत है:
let command = UIKeyCommand(input: "\b", modifierFlags: nil, action: "didHitDelete:")
मैं इस समस्या के समाधान कैसे काम कर सकते हैं?
संपादित करें: यह वास्तव में, यह काम नहीं करता एक स्ट्रिंग है कि केवल "\b"
है उत्पन्न करने के लिए नहीं चाहता है - यह मूल मूल्य रहता है:
var delKey = "\rb"
delKey = delKey.stringByReplacingOccurrencesOfString("r", withString: "", options: .LiteralSearch, range: nil)
संयोग से, अपने स्ट्रिंग प्रतिस्थापन स्विफ्ट में क्योंकि काम नहीं करता है, "\ rb" एक गाड़ी वापसी चरित्र पत्र "बी" (शाब्दिक बाइट्स 0D 98) द्वारा पीछा किया है। उस स्ट्रिंग में प्रतिस्थापित करने के लिए "आर" नहीं है ... –