最近在項目中發現網絡請求如果寫在 viewWillAppear裏邊每次進去都會刷新頁面,這樣沒必要,太浪費用戶的流量。
如果寫在 viewDidLoad裏邊的tabbar對應的頁面中,只有APP啓動的時候運行一次就再不更新,這樣的話,數據變化就不能同步,於是我想每次點擊tabbar的時候更新數據代碼如下:
1,代理 UITabBarControllerDelegate
2,遵守協議 self.tabBarController.delegate=self;3,在viewDidLoad 請求一次 [self requestdata]
4,協議方法:
//點擊的時候觸發的方法
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if (self.tabBarController.selectedIndex==1) {
[self requestdata];
}
}
//防止通個頁面一直點擊tabbar 的方法
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
UIViewController *tbselect=tabBarController.selectedViewController;
if([tbselectisEqual:viewController]){
returnNO;
}
returnYES;
}