gpt4 book ai didi

ios - 使用 Interface Builder 为 UITabBarViewController 设置委托(delegate)时应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 13:31:25 27 4
gpt4 key购买 nike

我正在尝试为我的 Story Board 选项卡栏 Controller 创建一个 UITabBarControllerDelegate ...

#import <Foundation/Foundation.h>

@class CountryPickerViewController;

@interface TabBarDelegate : NSObject <UITabBarControllerDelegate>

@property (strong) CountryPickerViewController *countryPickerViewController;

- (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

@end

我使用 Interface Builder 创建了一个对象,然后像这样将其分配为委托(delegate):

Interface builder storyboard edit

当我切换到另一个选项卡时,会导致崩溃。这是怎么回事,我该如何解决?

编辑:顺便说一句,tabBarController:didSelectViewController: 的方法实现是空的(不包含任何特定逻辑)

EDIT2:我没有得到像样的堆栈跟踪,我得到:

Offending thread

EXC_BAD_ACCESS,我假设 Tab Bar Delegate 对象可能为 nil?为什么会这样?

EDIT3:我启用了 NSZombies 并发现出于某种原因我在 Interface Builder 中创建的对象发布得太快了?这是正常的吗?

2012-08-01 12:41:11.591 MyApp[15437:707] *** -[TabBarDelegate respondsToSelector:]: message sent to deallocated instance 0x194fe0

最佳答案

不保留 IBOutlets。您需要对选项卡栏委托(delegate)进行强引用,以便将其保留足够长的时间以供您的 View 使用。现在它在加载 View 后立即释放。

关于ios - 使用 Interface Builder 为 UITabBarViewController 设置委托(delegate)时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11763323/

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