let s = NSAttributedString(string: "",attributes: [NSForegroundcolorAttributename: UIcolor.red])let range = NSMakeRange(0,s.length)let attrs = s.attributes(at: 0,longestEffectiveRange: nil,in: range)
为什么我在最后一行超出界限?
解决方法 这是预期的结果.如果字符串的长度为0(“”的情况),它在索引0处没有字符,因此当您尝试使用s.attributes访问它时,您应该得到一个越界异常.由于索引从0开始,因此仅对String.length> 0存在index = 0.
您可以使用长度为1的字符串并在s.attributes中输入1来轻松检查.
let s = NSAttributedString(string: "a",s.length)let attrs = s.attributes(at: 1,in: range) //also produces out of bounds error总结
以上是内存溢出为你收集整理的swift – NSAttributedString获取超出范围的属性异常全部内容,希望文章能够帮你解决swift – NSAttributedString获取超出范围的属性异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)