我正在尝试将以下代码从Java转换为Objective-c。
如何在不创建自己的Quaternion类的情况下创建新的Quaternion对象,就像我在Java中一样。是否可以使用GLKQuaternion,因为这已经实现了?
this.q = new Quaternion(qrot);
其次,如何从GLKQuaternion结构中访问元素。我曾尝试过例如:
self._m[9]
运气不佳
答案 0 :(得分:0)
不确定我是否正确阅读,但对于第1部分,您正在谈论Java中的构造函数,使用params。据我所知,Objective-C不使用构造函数。要模仿一个,您必须扩展init
方法。所以,
this.q = new Quaternion(qrot);
变为
self.q = [[Quaternion alloc] initWithRotation:qrot];
对于第2部分,访问Objective-C中的struct
元素确实使用像Java一样的点表示法,但除非变量_m是一个数组,否则您的代码会导致编译错误。
其中structElement
是int = y
,
exmapleStruct.strutElement = 9;
是一个有效的参数。在您的代码中,您正在访问_m
sub 9或数组_m
中的第8个元素
希望这有帮助