ho bisogno di essere in grado di creare una stringa che è "\b"
. Ma quando provo, Xcode genera un errore in fase di compilazione: sequenza di escape non valida in letterale. Non capisco perché però, "\r"
funziona bene. Se inserisco "\\b"
, questo è ciò che è effettivamente memorizzato nella Stringa, che non è quello che mi serve - ho bisogno solo di una barra rovesciata. Per me, questa sembra essere una stranezza Swift perché funziona bene in Objective-C.non valido in sequenza di escape letterale: " b"
let str = "\b" //Invalid escape sequence in literal
NSString *str = @"\b"; //works great
ho bisogno di generare questa stringa perché "\b"
è l'unico modo per rilevare quando l'utente preme 'delete' quando si utilizza UIKeyCommand
:
let command = UIKeyCommand(input: "\b", modifierFlags: nil, action: "didHitDelete:")
Come posso risolvere questo problema?
EDIT: E 'davvero non vuole generare una stringa che è soltanto "\b"
, questo non funziona - rimane il valore originale:
var delKey = "\rb"
delKey = delKey.stringByReplacingOccurrencesOfString("r", withString: "", options: .LiteralSearch, range: nil)
Per inciso, il dispositivo sostitutivo stringa non funziona a causa di Swift, "\ rb" è un carattere ritorno seguito dalla lettera "b" (letteralmente bytes 0D 98). Quella stringa non ha una "r" per sostituire ... –