我有以下代码:
let range = NSRange(location: 0, length: mutableAttributedString.string.lengthOfBytes(using: String.Encoding))
mutableAttributedString.addAttribute(NSAttributedString.Key.font, value: UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body), range: range)
我需要知道在上面代码的第一行中对于参数“ using”说“ String.Encoding”的地方使用哪种字符串编码。 String对象始终来自iOS键盘。
最佳答案
如果要创建用于添加属性的NSRange
,我认为lengthOfBytes
不是您要的内容。这里的范围代表原始mutableAttributedString
中的子字符串,如果您只是想向整个字符串添加属性,则范围应定义为:
let range = NSRange(location: 0, length: mutableAttributedString.string.count)
否则,我不确定您将使用
lengthOfBytes
做什么,但是我认为这似乎无法在您添加属性时起作用。