开发者社区 问答 正文

在继承类中调用方法报错

有两个类A和B。
在A类中:
@interface A : B

在B类中,得到如下代码:

self.navigationItem.rightBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"Add-button-normal"]
                                                          highlightedImage:[UIImage imageNamed:@"Add-button-active"]
                                                                    target:self
                                                                    action:@selector(showPopoverUI:)];

然后我在A类中访问条目,用下面代码之后没有实现:

self.navigationItem.rightBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"Add-button-normal"]
                                                          highlightedImage:[UIImage imageNamed:@"Add-button-active"]
                                                                    target:self.parentViewController
                                                                    action:@selector(showPopoverUI:)];

然后系统给我错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[B showPopoverUI:]: unrecognized selector sent to class 0x226308'

展开
收起
爵霸 2016-03-26 08:54:43 1850 分享 版权
1 条回答
写回答
取消 提交回答
  • 在第二个例子中你targetparentViewController,应该继续target self

    2019-07-17 19:15:09
    赞同 展开评论
问答地址: