在Objective-C
中,这些是指针数组的两个声明:
NSArray<MTKMesh *> *mtkMeshes;
NSArray<MDLMesh *> *mdlMeshes;
我正在努力宣布Swift 3.0
中的等价物。
答案 0 :(得分:2)
MTKMesh
和MDLMesh
是类(引用类型)。一个变量
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
前两个数组元素引用相同的对象实例,即
last数组元素引用不同的实例。
(===
是"identical-to" operator)。