2015-08-14 50 views
1

我有位置跟踪类和另一个类的列表。我需要在输入listView时检查locationService是否正在运行。在locationService类中,我添加了布尔值来跟踪服务的启动和停止。但我无法从listView类跟踪这个布尔变量。从另一个类获取动态布尔变量iOS

这里是我的代码,我怎么现在做的,但只需要在locationService类

//listView.m 

@property (strong,nonatomic) LocationTracker * trackerClass; 


- (void)viewWillAppear:(BOOL)animated{ 
    self.trackerClass = [[LocationTracker alloc] init]; 

    if([self.trackerClass getTrackerStatus]==1) 
    NSLog(@"LOCATION SERVICE STATUS IS RUNNING"); 
    else 
    NSLog(@"LOCATION SERVICE STATUS IS STOPPED"); 
} 


//locationService.h 

    @property (nonatomic, readwrite) int trackerStatus; 
    - (int)getTrackerStatus; 

//locationService.m 

- (void)stopLocationTracking {_trackerStatus=0;} 
- (void)startLocationTracking {_trackerStatus=1;} 


- (int)getTrackerStatus{ 
    return _trackerStatus; 
} 

预先感谢您的初始值!

+0

这听起来像你想_trackerStatus更改时通知。你应该发射某种事件。考虑查看ObjC的代表模式 –

回答

0

尝试设置这个布尔变量作为一个局部变量,并创建一个简单的静态吸气得到这个布尔。你的LocationTracker会改变变量的值,你可以从任何地方得到它。

@implementation LocationTracker 

BOOL isStart; 

//Dont forget to delclear this methode in the .h file 
+(BOOL)isStart{ 
    return isStart; 
} 

your code... 

任何地方在你的应用程序只需要导入您的CALSS和WIRTE:

BOOL isStart = [LocationTracker isStart]; 
//The getting vaiable should be the updated bool in you LocationTracker class 
+0

它作为一种魅力!谢谢! –

+0

祝你好运伙计=) –

-1

尝试删除

- (int)getTrackerStatus{ 
    return _trackerStatus; 
} 
+0

您应该通过解释为什么这可以解决问题来改善您的答案。 –

+0

我首先想看看它是否有效。如果是这样,我会写更多的细节。 – Mika