2016-05-15 2 views
2

Мне нужно удалить запись из UILabel. Я делаю это, копируя его текст в строковую переменную и удаляя индекс конца в строку. UILabel действительно содержит значение, но строка, которую он копирует, не содержит ничего. Любая помощь будет оценена по достоинству.Невозможно скопировать текст из UILabel в Swift

var displayString = display.text! 
displayString.removeAtIndex(displayString.endIndex) //error at this line. 
display.text! = displayString 

Состояние этой строки можно увидеть на этом скриншоте. enter image description here

и отладчик можно увидеть здесь, что на дисплее UILabel фактически содержится строка. enter image description here

ответ

1

Вы не должны удалять endIndex, но один до конца. И вы должны удалить только что-то из строки, если есть на самом деле что-то удалить - проверить пустую строку перед удалением символа:

if displayString != "" { 
    displayString.removeAtIndex(displayString.endIndex.predecessor()) 
} 
+0

.predecessor() работал как волшебство! Большое спасибо! –

+0

Приобретено. Я попытался принять ответ, но это не позволило мне. Говорит, что это нужно сделать в течение 5 минут после ответа. Извиняюсь за это. –

+0

Выполнено. Гош, Stackoverflow играет сегодня с моим умом. И ты заработал мне вторую благодарность. Большое спасибо человеку. –

Смежные вопросы