将NSString分配给UILabel错误

时间:2011-07-21 19:19:42

标签: iphone objective-c xcode nsstring uilabel

我正在使用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 个答案:

答案 0 :(得分:1)

有些事情要尝试:

  1. 确保locationView不是零。
  2. 确保locationView位于视图层次结构中。
  3. 确保locationView是否是IBOutlet,您已在xib中附加了正确的对象。
  4. 确保调用您的委托方法。
  5. 确保locationView的框架不是CGRectZero。

答案 1 :(得分:0)

您的locationView可能在通话时nil。您可能需要将位置存储在实例变量中,并在viewDidLoad上设置locationView文本。

答案 2 :(得分:0)

尝试使用

检查latLong
NSLog(@"%@", latLong);

locationView如何?

答案 3 :(得分:0)

尝试NSLog(@"%@",locationView);检查locationView是否为零。

答案 4 :(得分:0)

创建一个与参数同名的新变量是否犹豫不决?您是否尝试过命名坐标变量?