앱 전체에 와인을 일반적으로 나열하는 앱이 있습니다 (전체 화면 또는 더 작은 UIView). 이 ViewController는 뷰를 할당하고 대리인/etc를 주 ViewController에 할당 한 다음 해당 델리게이트를 통해 데이터를 채 웁니다. 화면에 와인을 표시하고자하는 마스터보기에서 기존 tableView 및 ViewController를 UISearchDisplayController와 함께 사용
:
wineListViewController = [[WineListViewController alloc] initWithWines:nil];
wineListViewController.navigationController = self.navigationController;
self.winesTableView.dataSource = wineListViewController;
self.winesTableView.delegate = wineListViewController;
// Table population code goes here
좋아요하지만 지금은 검색 측면을 짓고 있어요, 나는 결과를 표시하기 위해이 같은의 ViewController를 사용하려면 왜냐하면 나는 cellForRowAtIndexPath와 같은 복잡한 규칙을 가지고 있기 때문이다.
그러나 UISearchDisplayController는 고유 한 tableView를 사용하기를 원하므로 동일한 방법으로 표시하려면 WineListViewroller (heightForRow, cellForRow)에서 모든 코드를 복제해야합니다. 코드를 복제하지 않도록 WineListViewController를 UISearchDisplayController에 연결할 수있는 방법이 있습니까?
정말 대단한 답변입니다. 감사합니다. 실제로 유선 연결이되었지만 일단 데이터가 도착하면 tableView를 다시로드하라는 알림이 필요했습니다. 다음 사람이 이것을 읽으려면 위의 코드를 게시 한 후에 이것이 필요합니다 :'self.searchDisplayController.searchResultsDataSource = wineListController; self.searchDisplayController.searchResultsDelegate = wineListController;''SearchResultsDone'에서 다음을 가져야합니다 :'wineListController.currentWines = resultArray; [self.winesTableView reloadData];' – beeudoublez