繁体   English   中英

如何将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的变量是对对象实例的引用,即,Objective-C中类型为MTKMesh *的变量。

因此,您只需声明

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

前两个数组元素引用相同的对象实例,最后一个数组元素引用不同的实例。 ===“与”相同的运算符 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM