我需要能夠創建一個字符串是"\b"
。但是當我嘗試時,Xcode會引發編譯時錯誤:文字中的無效轉義序列。我不明白爲什麼,"\r"
工作得很好。如果我把"\\b"
那麼這就是實際存儲在字符串中,這不是我所需要的 - 我只需要一個反斜槓。對我來說,這似乎是一個Swift的怪胎,因爲它在Objective-C中工作得很好。無效轉義序列:「 B」
let str = "\b" //Invalid escape sequence in literal
NSString *str = @"\b"; //works great
我需要生成這個字符串,因爲"\b"
是當用戶按下「刪除」來檢測的唯一方法使用UIKeyCommand
時:
let command = UIKeyCommand(input: "\b", modifierFlags: nil, action: "didHitDelete:")
我怎樣才能解決這個問題?
編輯:真的不希望產生一個String,只有"\b"
,這並不工作 - 它停留在原始值:
var delKey = "\rb"
delKey = delKey.stringByReplacingOccurrencesOfString("r", withString: "", options: .LiteralSearch, range: nil)
順便提及,您的字符串替換不因爲在工作斯威夫特,「\ RB」是一個回車符接着字母「b」(字面意思的字節0D 98)。該字符串沒有「r」來代替... – 2014-12-22 20:57:56