我硬着头皮开始将我的应用程序转换为 Swift 3。一如既往,该转换器还有很多不足之处。在这种情况下,我不确定如何正确编码新版本。这是原文:
let indexes : [CInt] = [0,1,2,3]
let dat = NSData(bytes: indexes, length: sizeofValue(indexes))
let ele = SCNGeometryElement(data:dat, primitiveType: .Triangles, primitiveCount: 2, bytesPerIndex: sizeof(Int))
运行转换并编写新的 sizeof (谢谢)后,我得到了以下结果:
let indexes : [CInt] = [0,1,2,3]
let dat = Data(bytes: UnsafePointer<UInt8>(indexes), count: sizeof(indexes))
let ele = SCNGeometryElement(data:dat, primitiveType: .triangles, primitiveCount: 2, bytesPerIndex: MemoryLayout<Int>.size)
然而,这给了我(关于Data(bytes:length:)
call):
“init”不可用:使用“withMemoryRebound(to:capacity:_)”暂时将内存视为另一种布局兼容类型。
我在这里查看了一些线程,并阅读了涵盖此内容的发行说明,但我仍然对我应该在这里做什么感到困惑。