UITabBarController가 내 응용 프로그램 대리인의 일부로 있고 사용자가 특정 탭 (즐겨 찾기)을 터치하고 그 안에 테이블을 강제로드하면 데이터가 다시로드됩니다.UITabBarItem을 누를 때 UITableView에 데이터 다시로드
이 경우 가장 좋은 방법은 무엇입니까?
내 응용 프로그램 대리인에게 UITabBarDelegate 프로토콜을 추가하고 didSelectViewController 메서드를 구현했습니다. 여태까지는 그런대로 잘됐다. 메소드 내에서 viewController를 얻으므로 제목을 확인하여 어떤 탭이 선택되었는지 확인할 수 있습니다.
어떻게하면 reloadData 메시지를 viewController의 UITableView로 보낼 수 있습니까? 내 FavouritesViewController 클래스에서 메서드를 만들고 그 호출하지만 작동하지 않는 시도했다.
예제 코드 : 당신이 tableViewController의 viewWillDisplay
방법에 [UITableView reloadData]
를 추가 할 필요가 같은
#pragma mark UITabBarController delegate methods
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
// If the favourites tab is pressed then reload the data
if (viewController.title = @"Favourites")
{
if ([viewController respondsToSelector:@selector(reloadFavourites:)])
{
[viewController reloadFavourites];
}
}
}
이 ... 당신이 말한대로나요 내의 ViewController에 넣고 : - (무효) viewWillAppear : 애니메이션 (BOOL) { \t [favouritesTableView reloadData]; \t [super viewWillAppear : animated]; } 모두 잘 작동하므로 위의 작업을 수행 할 필요가 없습니다. 다시 감사합니다. Dave –
도움이 될 수있어서 기쁩니다. – TechZen