2015-04-01 29 views
0

我正在自定義我的單例類CLLocationManageriOS - 自定義類的方法

@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]; 
} 

startUpdatingLocationstopUpdatingLocation實例方法,這我如何使用它們,而[CLLocationManager locationServicesEnabled] 是一類方法。我不知道如何在我的單身課程中使用它。

我一直在使用它試圖爲

+(BOOL)locationServicesEnabled { 
    return [sMyLocationManager.sManager locationServicesEnabled]; 
} 

,但無法按預期工作。請添加一些想法。

+0

你嘗試分配一個值sManager?我的意思是你用任何方法初始化它? – 2015-04-01 10:21:50

+0

是的。我在視圖控制器中這樣做。 – iOS 2015-04-01 11:45:06

回答

0

由於您使用的是類包裹CLLocationManager,類方法遵循相同的技術。

你的類將包含一個方法類似,

+ (BOOL)locationServicesEnabled 
{ 
    return [CLLocationManager locationServicesEnabled]; 
} 
0

使用

+(BOOL)locationServicesEnabled { 
    return [[sMyLocationManager sharedLocationManager] locationServicesEnabled]; 
} 
+0

添加,顯示編譯時錯誤 - 'MyLocationManager的可見@interface聲明選擇器sharedLocationManager' – iOS 2015-04-01 11:47:24