美文网首页
关于UIButton的addTarget方法无法传递参数

关于UIButton的addTarget方法无法传递参数

作者: WoodenSouthRock | 来源:发表于2018-12-07 00:10 被阅读37次

    一般情况下,使用到UIButton,都会用到其对象方法:addTarget方法。细心的朋友可能发现,这个方法不能传递参数。当我们需要为UIButton注册单击事件的时候,如果此时需要传递多个参数,addTarget又不能用,该如何解决呢?

    比如我要给UIButton注册下面的单击方法A,但是此方法有2个参数,使用addTarget方法是做不到的。

- (void)dataWithName: (NSString *)pictureName andPictureCount: (int)count   

    解决办法就是,再写一个没有参数的方法B,在B中传递参数,如下所示:

- (void)clickShowLoveButton {    

    [self dataWithName:@"showLove" andPictureCount:67];

    现在,我们已经把一个需要传递参数的方法A,封装到一个不需要传递参数的方法B中。此时为UIButton注册单击事件,只需要使用addTarget方法调用B方法即可,如下:

[self.btnShowLove addTarget:selfaction:@selector(clickShowLoveButton)       forControlEvents:UIControlEventTouchUpInside];   

    这样,我们就轻松解决题目的问题了。

相关文章

网友评论

      本文标题:关于UIButton的addTarget方法无法传递参数

      本文链接:https://www.haomeiwen.com/subject/pmqzcqtx.html