-(void)Complete{
CM(@"complete");
[BNUtilitiesQuick UtilitiesQuick].startForm=0;
[self.view removeFromSuperview]; //This remove superView and the new view will be listNewController
[self setSearchLocationWhenChangeSearchBar];
if([self.searchListTemp isEqualToString:[cachedProperties singleton].searchList] && [self.searchLocationTemp isEqualToString:[cachedProperties singleton].searchLocation]){
CLog(@"Don't do anything");
}
else{
...
//Blablabla
//[Timer searchCriteriaChanged];
}
[[BNUtilitiesQuick ListController] viewWillAppear:true];//It's not called if I don't do this
}
部分我认为应该自动调用它。不知怎的,当它没有被调用时,我一定做错了。
显然我不希望事情被召唤两次。
所以我最后明确地打电话给他们。不知怎的,这感觉不对。我错了吗?
答案 0 :(得分:0)
如果您希望在视图消失之前执行某些操作,则可以使用viewWillDisappear
方法编写代码。此方法通知视图控制器其视图即将从视图层次结构中删除。
- (void)viewWillDisappear:(BOOL)animated{}
答案 1 :(得分:0)
viewWillAppear
在UIViewController.h
中声明,每次视图即将出现时都会自动调用它。在某些时候你必须在你的实现中使用super。这可能是它没有自动调用的原因,因为你的BNUtilitiesQuick
不是UIViewController
的类