Swift 如何在UINavigationController的子类中调用父类的navigationBar(uu3;:shouldPop:)?
我已经用Objective-C编写了以下代码:Swift 如何在UINavigationController的子类中调用父类的navigationBar(uu3;:shouldPop:)?,swift,uinavigationcontroller,Swift,Uinavigationcontroller,我已经用Objective-C编写了以下代码: @interface UINavigationController(UINavigationBar) <UINavigationBarDelegate> @end @implementation TestNavigationViewController - (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)i
@interface UINavigationController(UINavigationBar) <UINavigationBarDelegate>
@end
@implementation TestNavigationViewController
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item {
...
return [super navigationBar:navigationBar shouldPopItem:item];
}
@end
由于Objective-C代码在开始时没有引起任何问题,我决定让问题回到开始,而不是试图解决由一个bug引起的另一个bug
如何在swift中实现Objective-C代码
补充1:
override
关键字是通过自动完成添加的,但报告了一个错误。导航栏后面的?
也是通过自动完成添加的。直接调用super.navigationBar(uuuu:shouldPop:)。
我希望您的意思是返回super.navigationBar(navigationBar,shouldPop:item)
但您的确切代码是什么,错误是什么?如果你让自动完成,该方法没有显示?@Larme谢谢你的评论,我添加了问题的答案。它不是原始方法的tmpNavigationBar
。您不能重命名这些方法并期望被调用。@Larme即使我使用原始的导航栏
,错误报告也不会改变任何内容,它仍然报告这些错误。。。