【发布时间】:2012-08-01 16:11:21
【问题描述】:
我正在尝试为我的故事板标签栏控制器创建一个 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 创建了一个对象,然后将其分配为这样的委托:
当我切换到另一个选项卡时,会导致崩溃。这是怎么回事,我该如何解决?
编辑:顺便说一下,tabBarController:didSelectViewController: 的方法实现是空的(不包含任何特定逻辑)
EDIT2:我没有得到像样的堆栈跟踪,我得到:
和EXC_BAD_ACCESS,我会假设Tab Bar Delegate 对象可能为零?为什么会这样?
EDIT3:我启用了 NSZombies 并发现由于某种原因我在 Interface Builder 中创建的 Object 发布得太早了?这是正常的吗?
2012-08-01 12:41:11.591 MyApp[15437:707] *** -[TabBarDelegate respondsToSelector:]: message sent to deallocated instance 0x194fe0
【问题讨论】:
-
“导致崩溃”没有用。发生什么了?你有堆栈跟踪吗?它说什么?
-
@Jim 我并没有真正得到一个像样的堆栈跟踪,但我编辑了我的答案,忘了提到它是 EXC_BAD_ACCESS。对此感到抱歉。 :)
标签: ios xcode delegates interface-builder storyboard