daredevil1234 daredevil1234 - 6 months ago 44
Swift Question

String basics with Swift

Just trying to remove the first character from a string in Swift. I use the code written below, but the second line keeps crashing my application.

Is this not the correct way to unwrap a String Index? What is?

var tempText = text
let toRemove = tempText?.startIndex ?? String.Index(0)
tempText?.remove(at: toRemove)

Answer Source

You are initializing a String.Index type instead of getting the index of the tempText string.

Moreover, startIndex is not an optional, tempText, however, is.

You should check if tempText exists and is not empty, and remove the character at startIndex if it matches those conditions.

var tempText = text

if tempText != nil,
    !tempText!.isEmpty {
    let toRemove = tempText!.startIndex
    tempText!.remove(at: toRemove)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download