我有一个属性为
的类@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
编辑:添加了一些代码以使问题更清晰。当我从另一台计算机上物理复制代码时,请原谅任何语法错误。它汇编得很好。
答案 0 :(得分:2)
确保您的类是CLLocationManagerDelegate的委托。