我试图写一些Swift代码来比较我的Obj-C代码的性能。
我有一个UnicodeScalar数组(缓冲区),我想将其转换为String对象。
let range = _peekBuffer[_peekBufferPos .. _peekBufferPos + length]
var retval = ""
for c in range {
retval += Character(c)
}
return retval
由于各种原因,性能很糟糕,但我还没有找到一种在Swift中构造字符串的更好方法。我将尝试下载到NSString,然后可能是CFString(这有点令人失望,因为我试图用纯Swift编写),但我想知道是否有人遇到任何其他选项来“快速”创建字符串。
答案 0 :(得分:0)
我还没有找到将UnicodeScalars数组转换为String的方法,但您可以将UnicodeScalars转换为字符数组,然后将字符数组转换为字符串:
var characters = [Character]()
for unicodeScalar in range {
characters.append( Character(unicodeScalar) )
}
return String( characters )