如何将 Objective-C 指针数组转换为 Swift?

How do I convert Objective-C array of pointers to Swift?

Objective-C中有两个指针数组的声明:

NSArray<MTKMesh *> *mtkMeshes;
NSArray<MDLMesh *> *mdlMeshes;

我正在努力声明 Swift 3.0 中的等价物。

MTKMeshMDLMesh(引用类型)。一个变量 Swift 中的 MTKMesh 类型是对对象实例的引用, 即 MTKMesh * 类型的变量在 Objective-C.

中是什么

因此您可以简单地声明

var mtkMeshes: [MTKMesh] = []
var mdlMeshes: [MDLMesh] = []

数组的每个元素都是对对象实例的引用:

let mesh1 = MDLMesh()
let mesh2 = MDLMesh()
mdlMeshes.append(mesh1)
mdlMeshes.append(mesh1)
mdlMeshes.append(mesh2)

print(mdlMeshes[0] === mdlMeshes[1]) // true
print(mdlMeshes[0] === mdlMeshes[2]) // false

前两个数组元素引用同一个对象实例, 最后一个数组元素引用了不同的实例。 (==="identical-to" operator)。