我有两个视图控制器(FirstViewController 和 SecondViewController)和一个标签栏控制器,我正在使用 Storyboards。在 FirstViewController 中,用户可以拖放一个 imageview。因此,每次用户单击显示 SecondViewController 的第二个 TabBarItem 时,我想检查用户是否在每次单击 TabBarItem 时删除了图像。
所以我知道这可以UITabBarDelegate
用它的方法来完成-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
。但是我做错了,因为没有调用该方法,我相信这是因为我无法正确设置委托。所以我希望 SecondViewController 成为 TabBarController 的代表。
所以在我的SecondViewController.h
我有以下
@interface SecondViewController : UIViewController<UITabBarDelegate>
在SecondViewController.m
我有
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"%@", item);
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarController.delegate = self;
}
但是什么也没有发生,在设置委托时,我也收到编译器警告:从不兼容的类型“SecondViewController *const __strong”分配给“id”
请对我温柔一点,这是我的第一个应用程序,也是我第一次尝试使用代表。