iOS 返回UIViewController控制器是否刷新数据
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄
QQ群:807236138群称:iOS 技术交流学习群
一、概念
* isKindOfClass(对象方法)
* isMemberOfClass(对象方法)
* isSubclassOfClass(类方法)
1.共同点:
* isKindOfClass与isMemberOfClass都是NSObject中比较Class的方法。
2.不同点:
* isKindOfClass用来判断某个对象是否属于某个类,或者是属于某个派生类。
* isMemberOfClass用来判断某个对象是否为当前类的实例。
3.总结
* isSubclassOfClass和isKindOfClass的作用基本上是一致的,只不过一个是类方法,一个是对象方法。
* isMemberOfClass 筛选条件更为苛刻,只有当类型完全匹配的时候才会返回YES。
* isMemberOfClass不能检测任何的类都是基于NSObject类这一事实,而isKindOfClass可以。
二、代码实现是否刷新
//一级控制器
@property (nonatomic, assign) BOOL isNeedRefresh;//是否需要刷新
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
if (self.isNeedRefresh) {
NSLog(@"执行刷新了");
[self loadData];
}
}
//二级控制器
#pragma mark 重写返回按钮
- (void)LeftBackBtnClicked
{
[self.view endEditing:YES];
[NSObject cancelPreviousPerformRequestsWithTarget:self];
UIViewController *oneVC = self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2];
if ([oneVC isKindOfClass:[SHOneViewController class]]) {
SHOneViewController *twoVC = (SHOneViewController *)oneVC;
twoVC.isNeedRefresh = YES;
[self.navigationController popToViewController:twoVC animated:YES];
}else{
[self.navigationController popViewControllerAnimated:YES];
}
}