gpt4 book ai didi

ios 无法识别的选择器发送到实例

转载 作者:行者123 更新时间:2023-11-28 19:10:03 26 4
gpt4 key购买 nike

已完成此处的优秀答案 unrecognized selector sent to instance但我仍然无法调试它。

我得到的错误是

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarController disableTabBarItemWithIndexNo:]: unrecognized selector sent to instance 0x1184dfa0' * First throw call stack:

设置断点问题似乎出自这里

[appdelegate tabBarController:shouldSelectViewController:]

[tbc disableTabBarItemWithIndexNo:index];

我相信导致问题的代码是这样的:

- (BOOL)tabBarController:(CustomTabBarController *)tbc shouldSelectViewController:(UIViewController *)viewController {
if ([viewController isMemberOfClass:[ActionViewController class]]) {
NSInteger index = [tbc.viewControllers indexOfObject:viewController];
CGRect frame = [[[self tabBarItemViewList:tbc] objectAtIndex:index] frame];
ActionViewController* content = [[ActionViewController alloc] init];
UIPopoverController* popover = [[UIPopoverController alloc] initWithContentViewController:content];
[content release];
popover.delegate = self;
popover.popoverContentSize = CGSizeMake(popover.popoverContentSize.width, 411.0);

[tbc disableTabBarItemWithIndexNo:index];

// Store the popover in a custom property for later use.
self.currentPopover = popover;
[self.currentPopover presentPopoverFromRect:frame inView:tbc.tabBar permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

return NO;
}

这让我发疯了,确保所有东西都正确地连接到 IB 中,并且自定义 Controller 应该响应方法调用。非常感谢任何帮助!

最佳答案

您应该在 CustomTabBarController 中检查您是否定义了 disableTabBarItemWithIndexNo 方法。因为这种类型的错误 unrecognized selector sent to instance 总是导致,如果相应的类没有那个方法的实现。那么如果你调用那个方法那么那个方法应该在那里定义。

为了避免此类错误,您应该首先检查特定方法的实现如下图。

 if([tbc respondsToSelector:@selector(disableTabBarItemWithIndexNo:)])
//this will return YES if that method implemented there in `CustomTabBarController` Class otherwise will return NO. {
[tbc disableTabBarItemWithIndexNo :NO];
}

关于ios 无法识别的选择器发送到实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478981/

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