因此,我正在使用雷·温德利奇(Ray Wenderlich)的教程编写的一本名为iOS游戏的书,并尝试利用那里找到的一些Objective- C代码来对游戏中角色的加速度计进行控制。我想使用Swift而不是Objective-C。尝试创建表示3D矢量的GLKVector3类型的var时遇到问题。当我输入:
var raw:GLKVector3 = GLKVector3Make(irrelevant stuff)
我收到以下错误:
使用模块GLKVector3作为类型。
我的GLKit的快速文件顶部有一个导入:
import GLKit
关于如何从GLKMath文件中获取功能以在程序中使用的任何想法?
Swift在1.2版中增加了对联合的支持。即使使用声明,导入的并集中的字段也是只读的var,但可以根据需要在C函数中传入和传出。
var
Swift 1.2的发行说明暗示这些字段可能根本无法访问,但是至少对于以下GLKit类型,它们仍然可读:
GLKit
Swift现在可以部分导入包含联合,位域,SIMD向量类型和Swift本机不支持的其他C语言功能的C聚合。不支持的字段将无法从Swift访问,但是具有参数和这些类型的返回值的C和Objective-C API可以在Swift中使用。这包括基金会NSDecimal类型和GLKit GLKVector和GLKMatrix类型,等等。
NSDecimal
GLKit GLKVector
GLKMatrix