0

我正在尝试将以下代码从 Java 转换为 Objective-c。

如何在不创建自己的 Quaternion 类的情况下像在 Java 中一样创建新的 Quaternion 对象。是否可以使用 GLKQuaternion ,因为这已经实现了?

this.q = new Quaternion(qrot);

其次,如何访问 GLKQuaternion 结构中的元素。例如,我尝试过:

self._m[9]

运气不好

4

1 回答 1

0

不确定我是否正确阅读,但对于第 1 部分,您正在谈论 Java 中的构造函数,带有参数。据我所知,Objective-C 不使用构造函数。要模仿一个,你必须扩展init方法。所以,

this.q = new Quaternion(qrot);

变成

self.q = [[Quaternion alloc] initWithRotation:qrot];

对于第 2 部分,在 Objective-C 中访问struct元素确实像在 Java 中一样使用点表示法,但除非变量 _m 是一个数组,否则您的代码会导致编译错误。

哪里structElementint = y,

exmapleStruct.strutElement = 9;

是一个有效的论点。在您的代码中,您正在访问_msub 9 或数组中的第 8 个元素_m

希望这可以帮助

于 2013-02-27T19:04:01.433 回答