2011-07-21 9 views
0

私はCLLocationManagerを使用してユーザーの緯度と経度を取得し、それらをNSStringにキャストし、次のコードを使用してUILabelの画面に表示します。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を作成し、うまく動作しようとするとテストしました。

私のエラーはどこですか?

+0

緯度と経度のNSLogを試してみましたか? – pixelfreak

+1

locationViewはビュー階層にどのように追加されますか?それがコンセントの場合、それは接続されていますか? – gerry3

+0

メソッド(locationManager:didUpdateToLocation:...)が呼び出されていますか?基本的にpixelfreakの提案でこれをテストしてください。 – Carter

答えて

0

locationViewは、お電話の際にnilとなる可能性があります。場所変数をインスタンス変数に格納する必要があり、viewDidLoadにはテキストも同様にlocationViewに設定します。

+0

インスタンス変数としてどのように格納できるかアドバイスできますか? –

+0

ヘッダーファイルで@property(retain)を作成CLLocation * recentLocation;その中にnewLocationを格納します。 viewDidLoadが発生すると、テキストがnilでなければrecentLocationで作成した文字列に設定されます。 – Joe

0

NSLog(@"%@", latLong); 

どのように見えるlocationViewないとLatLongブログをチェックしてみ?

+0

ログに何も出力されないので、何も存在しません.hhhmmm –

+0

@imperiousdev 'NSLog(@ "%f、%f"、location.latitude、location.longitude);' – Eugene

1

しようとするいくつかの点:

  1. はlocationViewがnilでないことを確認してください。
  2. locationViewがビュー階層にあることを確認してください。
  3. locationViewがIBOutletの場合は、正しいオブジェクトをxibに添付していることを確認してください。
  4. デリゲートメソッドが呼び出されていることを確認してください。
  5. locationViewのフレームがCGRectZeroでないことを確認してください。
0

を試して、locationViewがnilであるかどうかを確認してください。

0

パラメータと同じ名前の新しい変数を作成することはお勧めですか?座標変数に何か他の名前を付けてみましたか?

関連する問題