2013-02-27 8 views
0

Я пытаюсь преобразовать следующий код из Java в Objective-c.Доступ к элементам в GLKQuaternion

Как создать новый объект Quaternion, как в Java, без создания собственного класса Quaternion. Возможно ли использовать GLKQuaternion, поскольку это уже реализовано?

this.q = new Quaternion(qrot); 

Во-вторых, Как я могу получить доступ к элементам из структуры GLKQuaternion. Я попытался, например:

self._m[9] 

С небольшим количеством удачи

ответ

0

Не уверен, что если я читаю это право, но и для части 1, вы говорите о конструкторах в Java, с Params. Насколько я знаю, Objective-C не использует конструкторы. Чтобы имитировать один, вам необходимо расширить метод init. Так,

this.q = new Quaternion(qrot); 

становится

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

Для части 2, доступ к struct элементов в Objective-C делает использовать точечную нотацию, как и в Java, но если переменная _m не является массивом, ваш код будет вызывать компиляции ошибки.

structElement, где это int = y,

exmapleStruct.strutElement = 9; 

является веским аргументом. В коде, вы обращаетесь к югу _m 9 или 8-й элемент в массиве _m

Надеется, что это помогает

+1

Спасибо за ваш полезный ответ. Вы правильно ответили на мой вопрос. С уважением, Сэм – samb90

+0

Не забудьте использовать ключевое слово 'self' вместо' this' – user2000809

+0

Мне нужно создать свой собственный класс Quaternion или я могу создать объект с помощью GLKQuaternion. Например, будет ли GLKQuaternion * example = [GLKQuaternion alloc] init] достаточно или мне нужен мой собственный класс, например Quaternion * example = [Quaternion alloc] init]? – samb90

Смежные вопросы