Search code examples
iosobjective-cswiftstringnsmutableattributedstring

NSMutableAttributedString: How to delete last character programmatically on iOS?


I have a custom keyboard and I have to perform backspace action on textview having nsmutableattributed string as a text (combination of character and nstextattachments)


Solution

  • As per Moxy: if your last character is large enough not to fit within a single UTF-16 unit then Dave's method will just truncate the description of that character. Emojis are an example but there are a bunch more.

    So you'll more likely want:

    [string deleteCharactersInRange:
        [string.string rangeOfComposedCharacterSequenceAtIndex:string.length - 1]]