斯威夫特:快速的弦乐建设

时间:2014-07-03 22:40:59

标签: string performance swift

我试图写一些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编写),但我想知道是否有人遇到任何其他选项来“快速”创建字符串。

1 个答案:

答案 0 :(得分:0)

我还没有找到将U​​nicodeScalars数组转换为String的方法,但您可以将UnicodeScalars转换为字符数组,然后将字符数组转换为字符串:

var characters = [Character]()
for unicodeScalar in range {
  characters.append( Character(unicodeScalar) )
}
return String( characters )