Документация для stringByTrimmingCharactersInSet
гласит:
Возвращает новую строку, созданную удалением из обоих концов
символы получателя, содержащиеся в данном наборе символов.
Другими словами, он удаляет только оскорбительные символы до и после строки любых допустимых символов. Любые "оскорбительные" символы остаются в середине строки, потому что метод обрезки не касается этой части.
В любом случае, есть несколько способов сделать то, что вы пытаетесь сделать (и ответ @ Нараяны тоже хорош в этом вопросе ... +1 ему / ей). Мое решение было бы установить вашу строку s
в качестве изменяемой строки, а затем сделать:
[s replaceOccurrencesOfString: @" " withString: @"" options: NSBackwardsSearch range: NSMakeRange( 0, [s length] )];