Быстрое изменение строки с диапазоном & и shouldChangeTextInRange, как узнать Backspace

Я новичок в Swift, и я много RND, но я не могу добиться успеха. У меня есть Заменить строку с диапазоном Я использую этот код, но его возвращаемая ошибка Я использую Swift 2.0

let aString: String = txt_description.text
        let newString = aString.stringByReplacingOccurrencesOfString(varattherate, withString:"@\(getText) ", options: NSStringCompareOptions.LiteralSearch, range: NSMakeRange(0, 10))

Проблема в том, что я должен заменить текст из строки, моя строка - "меня зовут @test, но я хочу изменить @te" и заменить "@te" заменить на "@test", но у меня есть изменения в последнем "@te" из Строка, я пытаюсь создать "Автозаполнение просмотра текста"

Но я использую этот код

 let aString: String = "my name is @test but i want change @te"
 let newString = aString.stringByReplacingOccurrencesOfString(varattherate, withString:"@\(getText) ", options: NSStringCompareOptions.LiteralSearch, range:nil)

и вывод "меня зовут @testst, но я хочу изменить @test", но у меня есть необходимость вывода "меня зовут @test, но я хочу изменить @test" Не изменить первым @te только последний - изменение с динамическим

Вторая проблема заключается в том, как узнать в этой функции Backspace

 func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool 
{


}

Я пытаюсь этот код, но не работает текст: String) -> Bool {

    if(text == "\b") {
        println("This is backspace ")
        return false
    }
}

1 ответ

Проверьте этот пример, чтобы понять ваш второй вопрос

// this is ASCII BS (backspace)
let cBS: Int8 = 0x08
let asciitxt: [Int8] = [65,66,67,cBS,68,0]
let asString = String.fromCString(asciitxt)
print(asciitxt)
print(asString)
print(asString!)

/*
[65, 66, 67, 8, 68, 0]
Optional("ABC\u{08}D")
ABCD
*/

ответ на ваш первый вопрос касается логики в вашем коде синтаксического анализа... он не очень специфичен

Другие вопросы по тегам