Компас iPhone 3.0: как получить заголовок?

Я относительно новичок в Objective-C и на самом деле пока ничего о нем не знаю, поэтому извиняюсь за, вероятно, действительно любительский вопрос.

Я пытаюсь получить магнитный курс от CLHeading и CLLocationDirection. Однако я получаю ошибки компиляции для этой строки кода:

<code>locationLabel.text = [[[location course] magneticHeading] stringValue];
</code>

Ошибки:

<code>warning: invalid receiver type 'CLLocationDirection'  
error: cannot convert to a pointer type
</code>

Я действительно не понимаю, что я делаю здесь неправильно. Пожалуйста помоги!

Ответы на вопрос(3)

Решение Вопроса

1) проверить наличие: еслиheadingAvailable Свойство менеджера местоположения YES, тогда вы можете использовать компас.

2) использовать метод менеджера местоположения-(void) startUpdatingHeading начать получать информацию, которую вы ищете

3) фактически получить эту информацию, используя метод делегата (не забудьте указать себя в качестве делегата)

 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

Надеюсь это поможет.

 11 нояб. 2011 г., 16:03
Гений, ты можешь прочитать название?
 20 июн. 2011 г., 21:04
Ради Google: свойство headingAvailable устарело с iO4. Теперь есть метод класса headingAvailable, который возвращает логическое значение.

который просто является typedef для примитивного типа данных "double". В вашем примере вы пытаетесь отправить сообщение чему-то, что не является объектом! Вы должны просто отформатировать дубль следующим образом:

locationLabel.text = [NSString stringWithFormat:@"Heading %.3f", [[location course] magneticHeading]];

 Sean R28 июн. 2009 г., 08:50
Спасибо, это было то, где я действительно запутался. Мне нужно узнать больше о typedefs, я думаю.

location? Удостоверитьсяlocation определяется как(CLLocationDirection *) а не просто(CLLocationDirection).

Ваш ответ на вопрос