从locationManager:didUpdateLocations分配类属性

时间:2013-06-26 13:32:40

标签: ios objective-c cllocationmanager

我有一个属性为

的类
@property (strong,nonatomic) NSString* test1; 

.m文件

-(void)doStuff
{
userLocationManager = [[CLLocationManager alloc]]init]; //has been synthesized already
userLocationManager.delegate = self;
userLocationManager.distanceFilter = kCLDistanceFilterNone; 
userLocationManager.desiredAccuracy = kCLLocationAccuracyBest;
[userLocationManager startUpdatingLocation];
NSLog(@"%@",self.test1); //logs (null)
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
self.test1 = @"Hello!";
[userLocationManager stopUpdatingLocation];
}

然后,我有一个初始化位置管理器等的类,我最终调用locationManager:didUpdateLocations.然后我在这个方法中做了一个简单的self.test1=@"Hello",只是为了看看我是否可以从该函数中分配字符串。在另一个方法我NSLog self.test1,看看它是否已更新,但我在控制台中得到(null)locationManager:didUpdateLocations异步还是什么? 谢谢! 〜Carpetfizz

编辑:添加了一些代码以使问题更清晰。当我从另一台计算机上物理复制代码时,请原谅任何语法错误。它汇编得很好。

1 个答案:

答案 0 :(得分:2)

确保您的类是CLLocationManagerDelegate的委托。