uitabbaritem을 누를 때 uitable 뷰에서 데이터를 다시로드합니다
-
13-09-2019 - |
문제
앱 대의원의 일환으로 UitabbarController가 있으며 사용자가 특정 탭 (즐겨 찾기)을 터치하고 테이블을 강제하여 데이터를 다시로드 할 때 트랩을 원합니다.
이 경우 모범 사례는 무엇입니까?
UITABBARDELEGATE 프로토콜을 내 앱 대의원에 추가하고 didSelectViewController 메소드를 구현했습니다. 여태까지는 그런대로 잘됐다. 메소드 내에서 ViewController를 얻으므로 제목 등을 확인하여 선택한 탭을 확인할 수 있습니다.
그런 다음 viewController의 uitableview에 reloadData 메시지를 보낼 수 있습니까? FavouritesviewController 클래스에서 메소드를 작성하고이를 호출하려고 시도했지만 작동하지 않습니다.
예제 코드 :
#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];
}
}
}
해결책
추가해야 할 것 같습니다 [UITableView reloadData]
TableViewController에 viewWillDisplay
방법. 이렇게하면 테이블이 표시 될 때마다 테이블이 다시로드됩니다.
Reload를 강요하려면 TableView가 이미 표시되면 OP에서 작성한 메소드에서 Reload를 호출하면 작동합니다.
다른 팁
다음 코드는 테이블을 새로 고쳐야합니다 매번 보기가 나타납니다.
-(void)viewWillAppear:(BOOL)animated
{
[[self tableView] reloadData];
}
제휴하지 않습니다 StackOverflow