我对创建修改后的编码UUID感兴趣,但是我有点想获得正确的格式。我目前拥有的东西由于未知的原因而无法编译,但是奇怪的是我能够在操场上运行它。这是函数:
class func genID() -> String {
let uuid = NSUUID.UUID()
let data = NSData(bytes:&uuid, length:16)
let base64 = data.base64EncodedStringWithOptions(nil)
let options = NSStringCompareOptions.LiteralSearch
let result = base64
.stringByReplacingOccurrencesOfString("/", withString: "-", options: options, range: nil)
.stringByReplacingOccurrencesOfString("+", withString: "_", options: options, range: nil)
.stringByReplacingOccurrencesOfString("=", withString: "", options: options, range: nil)
return result
}
该问题在函数的第二行标记;数据值的创建。奇怪的是,那条线确实在操场上工作。任何帮助,将不胜感激。那我在这里想念什么?
提前致谢。
最佳答案
您可以使用以下命令从NSData
创建NSUUID
对象:
let uuid = NSUUID.UUID()
// data object with appropriate size:
let data = NSMutableData(length: 16)
// fill the bytes from the UUID:
uuid.getUUIDBytes(UnsafeMutablePointer(data.mutableBytes))