Назначение ошибки NSString в UILabel - PullRequest
0 голосов
/ 21 июля 2011

Я использую CLLocationManager, чтобы попытаться получить широту и долготу моих пользователей, привести их к NSString и отобразить их на экране в UILabel, используя следующий код;

- (void)locationManager:(CLLocationManager *)manager
     didUpdateToLocation:(CLLocation *)newLocation 
            fromLocation:(CLLocation *)oldLocation
{

     CLLocationCoordinate2D location=newLocation.coordinate;
     NSString *latLong = [NSString   stringWithFormat:@"%f,%f",location.latitude,location.longitude];
     locationView.text = latLong;  
}

Все компилируется и запускается без проблем, но UILabel 'locationView' не заполняется. Я проверил, просто создав NSString и попробовав то, что работает нормально.

Есть идеи, где моя ошибка?

Ответы [ 5 ]

1 голос
/ 21 июля 2011

Некоторые вещи, которые нужно попробовать:

  1. Убедитесь, что locationView не ноль.
  2. Убедитесь, что locationView находится в иерархии представлений.
  3. Убедитесь, что locationViewявляется IBOutlet, что вы прикрепили правильный объект в xib.
  4. Убедитесь, что вызывается ваш метод делегата.
  5. Убедитесь, что фрейм locationView не является CGRectZero.
0 голосов
/ 22 июля 2011

Кошерно ли создавать новую переменную с тем же именем, что и у параметра?Вы пытались назвать свою переменную координат как-нибудь еще?

0 голосов
/ 21 июля 2011

Попробуйте NSLog(@"%@",locationView);, чтобы проверить, является ли locationView нулевым.

0 голосов
/ 21 июля 2011

Попробуйте проверить latLong с

NSLog(@"%@", latLong);

Как выглядит locationView?

0 голосов
/ 21 июля 2011

Ваш locationView скорее всего nil на момент вызова.Возможно, вам понадобится сохранить местоположение в переменной экземпляра и на viewDidLoad также установить текст locationView.

...