在没有 segue 的情况下从 FPPopover 设置委托
Setting a delegate from FPPopover without a segue
我正在开发一个 iPhone 应用程序,它使用 FPPopover,这是一个在 iPhone 上启用弹出窗口的开源库。我的 PopoverTVC
显示了我想要的内容,但我无法弄清楚如何在没有 segue 的情况下将我的 SavedPOITableViewController
设置为 PopoverTVC
的代表。
SavedPOITableViewController
从 UIBarButtonItem
打开 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
,尽管有警告,我还是代表工作。
我不明白为什么它在添加孤立的情节提要时可以工作,但以前只用代码就不行。如果有人能解释一下,我很想听听解释。
我正在开发一个 iPhone 应用程序,它使用 FPPopover,这是一个在 iPhone 上启用弹出窗口的开源库。我的 PopoverTVC
显示了我想要的内容,但我无法弄清楚如何在没有 segue 的情况下将我的 SavedPOITableViewController
设置为 PopoverTVC
的代表。
SavedPOITableViewController
从 UIBarButtonItem
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
,尽管有警告,我还是代表工作。
我不明白为什么它在添加孤立的情节提要时可以工作,但以前只用代码就不行。如果有人能解释一下,我很想听听解释。