有时候需要判断当前页面是否显示。构想一个场景:当用户使用app的时候,手机锁屏后解开屏幕锁,手机app进入前台。需要判断当前页面a还是页面b呈现给了用户。如果页面a呈现给用户,那么需要请求页面a的数据,如果页面b呈现给用户,需要请求页面b数据。这样用户每次进入app后呈现的数据都是最新的数据,利于用户体验
1、首先当用户使用app进入前台,那么需要发送一个通知,通知app进入前台了
[[NSNotificationCenter defaultCenter] postNotificationName:AppDelegateWillEnterForegroudKey object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillEnterForegroud) name:AppDelegateWillEnterForegroudKey object:nil];
- (void)appWillEnterForegroud{
if(self.isViewVisable){
//说明是当前页面,做些请求数据,更新页面的操作
}
//不是的话可能不需要做任何事情
}
@property (nonatomic, assign) BOOL isViewVisable;
1‘
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.isViewVisable = YES;
2’
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
self.isViewVisable = NO;
}这样我的这个变量就可以拿来判断是不是在当前这个页面中了。。。