在没有 segue 的情况下从 FPPopover 设置委托

Setting a delegate from FPPopover without a segue

我正在开发一个 iPhone 应用程序,它使用 FPPopover,这是一个在 iPhone 上启用弹出窗口的开源库。我的 PopoverTVC 显示了我想要的内容,但我无法弄清楚如何在没有 segue 的情况下将我的 SavedPOITableViewController 设置为 PopoverTVC 的代表。

FPPopover

SavedPOITableViewControllerUIBarButtonItem

打开 PopoverTVC

我是否应该使用委托,或者我是否应该在我的 SavedPOITVC 的 viewDidLoad 上设置一个 NSNotification 来监听变化并在我的 [=12= 上设置一个 post 通知] myVariable 什么时候更新?

以下是我的弹出框在 SavedPOITableViewController 上的实例化方式:

- (IBAction)filterButtonPressed:(UIBarButtonItem *)sender {
    // The view controller you want to present as a popover
    UIBarButtonItem *buttonItem = sender;
    UIView *buttonView = [buttonItem valueForKey:@"view"];
    PopoverTableViewController *categoryList = [[PopoverTableViewController alloc]init];
    FPPopoverController *popover = [[FPPopoverController alloc]initWithViewController:categoryList];
categoryList.delegate = self; // this doesn't work

    [popover setArrowDirection:FPPopoverArrowDirectionUp];
    [popover presentPopoverFromView:buttonView];    
}

我知道这听起来非常愚蠢,但它困扰我的时间比我承认的要长。

当我尝试设置委托时,出现此错误:

    Assigning to 'id<PopoverTableViewControllerDelegate>' from 
incompatible type 'SavedPOITableViewController *const __strong'

我的 PopoverTVC 没有故事板。我懒得放一个,因为它是 "out there on it's own"。我在界面生成器上扔了一个孤立的 TableViewController,将其 class 分配为 PopoverTVC,尽管有警告,我还是代表工作。

我不明白为什么它在添加孤立的情节提要时可以工作,但以前只用代码就不行。如果有人能解释一下,我很想听听解释。