Удалить последний символ в Swift 3

Я создаю приложение простого калькулятора и в настоящее время борется за удаление последнего символа при нажатии на мою кнопку. Я использую метод dropLast(), но я продолжаю получать ошибку

Отсутствует аргумент для параметра # 1 при вызове

@IBAction func onDelPressed (button: UIButton!)  {
     runningNumber = runningNumber.characters.dropLast()
     currentLbl.text = runningNumber
}

Ответ 1

Swift 4 (Addendum)

В Swift вы можете применить dropLast() прямо на экземпляр String, не вызывая .characters для доступа к CharacterView String:

var runningNumber = "12345"
runningNumber = String(runningNumber.dropLast())
print(runningNumber) // 1234

Swift 3 (исходный ответ)

Я предполагаю, что runningNumber является экземпляром String. В этом случае runningNumber.characters.dropLast() не имеет типа String, но a CharacterView:

let foo = runningNumber.characters.dropLast()
print(type(of: foo)) // CharacterView

Вам нужно использовать CharacterView для создания экземпляра String до назначения его обратно к свойству типа String, например.

var runningNumber = "12345"
runningNumber = String(runningNumber.characters.dropLast())
print(runningNumber) // 1234

I.e., для вашего случая

@IBAction func onDelPressed (button: UIButton!)  {
  runningNumber = String(runningNumber.characters.dropLast())
  currentLbl.text = runningNumber
}

Ответ 2

Удалить последний символ из строки/текста в Swift

var str1 = "1234"
str1.removeLast()
print(str1)

выход:

123