我有一个的viewController与方法调用方法:doSomething的:.我有一个菜单,它设置了一个按钮的菜单,我在其上添加了一个目标,这样我就可以从按钮中调用一个选择器。这个子类是从viewController实例化的。传递类之间的@selector,从实例化对象
当我点击实例化菜单的按钮,我想打电话给在的viewController的方法。设置它的一个显而易见的方法是添加一个观察者到NSNotifications中,但看起来很有趣。我可以以某种方式从视图控制器的选择传递给例如像这样:
在Menu.h
-(void)setupMenuWithAction:(SEL)action {
从视图控制器称为:
[menu setupMenuWithAction:@selector(doSomething:)];
尝试过了,这是行不通的,当按钮被点击时会给出无法识别的选择器错误,但是我想知道它是否是一个有效的概念,如果有的话,我该如何解决它。
很有趣,但不知道如何添加位:[对象performSelector:行动] ...的方法setupMenuWithAction:只是让一个按钮,添加一个目标与选择。我做另一个方法来调用performSelector:?对不起,密集。 – Mrwolfy
@Mrwolfy没问题;没有意识到你想直接添加它作为按钮的动作。使用此 - '''[myButton的addTarget:目标动作:动作forControlEvents:UIControlEventTouchUpInside]''' – gtmtg
OK,是的,这非常有意义,我做到了。尽管如此,仍然给我未知的选择器错误。 – Mrwolfy