【发布时间】:2015-06-05 22:27:39
【问题描述】:
我正在自定义我的单例类 CLLocationManager。
我有
@property (nonatomic, strong) CLLocationManager *sManager;
和
static MyLocationManager* sMyLocationManager=nil;
+(instancetype)sharedLocationManager{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sMyLocationManager = [[self alloc] init];
});
return sMyLocationManager;
}
我可以编写自己的方法
-(void)settingUserLocationManager{
if(nil== sMyLocationManager.sManager){
sMyLocationManager.sManager = [[CLLocationManager alloc] init];
}
-(void)onStartUpdatingUserLocation{
[sMyLocationManager.sManager startUpdatingLocation];
return;
}
-(void)onStopUpdatingUserLocation{
[sMyLocationManager.sManager stopUpdatingLocation];
}
startUpdatingLocation 和 stopUpdatingLocation 是实例方法,这是我使用它们的方式,而 [CLLocationManager locationServicesEnabled]
是一个类方法。我不知道如何在我的单例类中使用它。
我尝试过使用它
+(BOOL)locationServicesEnabled {
return [sMyLocationManager.sManager locationServicesEnabled];
}
但没有按预期工作。请添加一些想法。
【问题讨论】:
-
您是否尝试为 sManager 分配一个值?我的意思是你有没有用任何方法初始化它?
-
是的。我在我的视图控制器中这样做。
标签: ios objective-c iphone ios6