大佬教程收集整理的这篇文章主要介绍了ios – “无法递增endIndex” – 由于UITextView中的表情符号字符而出错,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
extension UITextView { func separatedWordsInFrontcursor(infront: Bool = truE) -> [String] { let cursorPosition = SELEctedRange.LOCATIOn let separationCharacters = NSCharacterSet(charactersinstring: " ") let beginRange = Range(start: text.starTindex.advancedBy(0),end: text.starTindex.advancedBy(cursorPosition)) //Fatal error: can not increment endIndex let EndRange = Range(start: text.starTindex.advancedBy(cursorPosition),end: text.starTindex.advancedBy(text.characters.count)) let beginPhrase = text.subStringWithRange(beginRangE) let endPhrase = text.subStringWithRange(EndRange) return infront ? beginPhrase.componentsSeparatedByCharactersInSet(separationCharacters) : endPhrase.componentsSeparatedByCharactersInSet(separationCharacters) } }
错误如下:
出现错误时:
cursorPosition is 3 text.characters.count is 2 text.starTindex is 0 text.starTindex.advancedBy(2) is 3 text.starTindex.advancedBy(cursorPosition) is "Fatal error: can not increment endIndex"
我该如何解决这个问题?
private func separatedWordsInFrontcursor(infront: Bool = truE) -> [String] { let cursorPosition = SELEctedRange.LOCATIOn let separationCharacters = NSCharacterSet(charactersinstring: " ") let nstext = NSString(String: text) let beginRange = NSRange(LOCATIOn: 0,length: cursorPosition) let EndRange = NSRange(LOCATIOn: cursorPosition,length: nstext.length - cursorPosition) let beginPhrase = nstext.subStringWithRange(beginRangE) let endPhrase = nstext.subStringWithRange(EndRange) return infront ? beginPhrase.componentsSeparatedByCharactersInSet(separationCharacters) : endPhrase.componentsSeparatedByCharactersInSet(separationCharacters) }
以上是大佬教程为你收集整理的ios – “无法递增endIndex” – 由于UITextView中的表情符号字符而出错全部内容,希望文章能够帮你解决ios – “无法递增endIndex” – 由于UITextView中的表情符号字符而出错所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。