Ios 在弹出窗口中分配给contentViewController属性时,表视图控制器不显示数据

Ios 在弹出窗口中分配给contentViewController属性时,表视图控制器不显示数据,ios,storyboard,Ios,Storyboard,我有一个弹出按钮,里面有一个表视图控制器和表视图。我已经为表视图创建了一个单独的数据源。故事板中的所有内容都连接在一起: 我在应用程序的主视图控制器中保留了一个对表视图控制器的引用(以便在弹出框关闭后进行工作)。我想在popover内的表视图中保留选择。以下是主视图控制器中的my-prepareforsgue:sender:method: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if

我有一个弹出按钮,里面有一个表视图控制器和表视图。我已经为表视图创建了一个单独的数据源。故事板中的所有内容都连接在一起:

我在应用程序的主视图控制器中保留了一个对表视图控制器的引用(以便在弹出框关闭后进行工作)。我想在popover内的表视图中保留选择。以下是主视图控制器中的my-prepareforsgue:sender:method:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"Popover"]) {
        UIStoryboardPopoverSegue *popover = (UIStoryboardPopoverSegue *)segue;
        popover.popoverController.delegate = self;
        popover.popoverController.contentViewController = (AJFTableViewController *)self.filterTableViewController;
    }
}
我的问题是:当我将popover的contentViewController分配给应用程序的主视图控制器引用的表视图控制器(上面方法的最后一行)时,表视图中不会显示任何数据。我已经确认正在创建数据源,甚至在该方法结束时尝试在tableView上手动调用reloadData,但仍然没有显示任何内容

如果注释掉最后一行(将popover contentViewController指定给table view controller属性),则会在table view中看到数据。但是,每次弹出窗口出现时都会创建一个新的表视图控制器,这不是我想要的


如何将popover的contentViewController正确分配给我在应用程序的主视图控制器中保留的表视图控制器,以便在弹出窗口出现时显示数据?

您将无法使用segue来执行此操作,因为segues总是实例化新的控制器。如果您想重用content controller的同一个实例,那么您需要用类似这样的代码表示它

@interface ViewController ()
@property (strong,nonatomic) AJFTableViewController *filterTableViewController;
@property (strong,nonatomic) UIPopoverController *popController;
@end

@implementation ViewController


- (IBAction)showPopover:(UIButton *)sender {
    if (! self.filterTableViewController) {
        self.filterTableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Table"];
    }
    self.popController = [[UIPopoverController alloc] initWithContentViewController:self.filterTableViewController];
    self.popController.delegate = self;
    [self.popController presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
}

谢谢,我不知道seques总是实例化新的控制器。