gpt4 book ai didi

ios - 在 Storyboard中,Popoverview 不接收委托(delegate)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:00 25 4
gpt4 key购买 nike

我正在按 Storyboard制作示例应用程序。当制作 popoverview 时,我使用了这种方式 - 'Embed in navigation controller'。

但是我在使用 delegate 时遇到了很大的麻烦。这是不委托(delegate)给弹出 View 的。

Xcode - Embedded Menu

[ViweController.m]

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if([[segue identifier] isEqualToString:@"PopRootViewController"]){

NSLog(@"[segue destinationViewController] :%@", [segue destinationViewController]);

rootViewController = [[RootViewController alloc] init];
rootViewController.delegate = (id)self;

NSLog(@"%@---%@---%@", rootViewController.delegate, self, rootViewController);
}
}

-(void)didTap22 {

NSLog(@"delegate step 1 success!! ");
}

这个来源的结果是这样的:

[segue destinationViewController] :<UINavigationController: 0x88660a0>
<ViewController: 0x6b795e0>---<ViewController: 0x6b795e0>---<RootViewController: 0x6b7da60>

但是 [RootViewController] 没有收到委托(delegate)。

[RootViewController.m]

@implementation RootViewController
@synthesize items, delegate;

- (void)viewWillAppear:(BOOL)animated
{

[super viewWillAppear:animated];
....
self.items = mutableFetchResults;

NSLog(@"333333..... %@, ....... %@", self.delegate, self);

}

结果:

333333..... (null), ....... <RootViewController: 0x8866520>

RootViewController 的委派为空。我找不到解决方案。

请大家帮帮我!

最佳答案

我怀疑您没有在 View Controller 的类声明中声明您的委托(delegate) UIPopoverControllerDelegate。

这一行是可疑的:

 rootViewController.delegate = (id)self; 

如果你做了我提到的声明,你不需要正常施法。

关于ios - 在 Storyboard中,Popoverview 不接收委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com