0

我试图告诉 MTLBuffer 范围已更改,但编译器不会让我这样做:

vertexBuffer?.didModifyRange(NSMakeRange(0,MemoryLayout<MetalVertex>.stride*nbVerts))

它只是说:“didModifyRange”不可用,为什么?

谢谢

4

1 回答 1

1

在 Swift 中,didModifyRange需要一个Range<Int>,而不是一个NSRange. 因此NSMakeRange,您可以使用运算符构造一个,而不是 using ..<

vertexBuffer?.didModifyRange(0 ..< MemoryLayout<MetalVertex>.stride * nbVerts)
于 2017-11-09T20:27:12.643 回答