? ? 一般情況下,使用到UIButton,都會(huì)用到其對(duì)象方法:addTarget方法。細(xì)心的朋友可能發(fā)現(xiàn),這個(gè)方法不能傳遞參數(shù)。當(dāng)我們需要為UIButton注冊(cè)單擊事件的時(shí)候,如果此時(shí)需要傳遞多個(gè)參數(shù),addTarget又不能用,該如何解決呢?
? ? 比如我要給UIButton注冊(cè)下面的單擊方法A,但是此方法有2個(gè)參數(shù),使用addTarget方法是做不到的。
- (void)dataWithName: (NSString *)pictureName andPictureCount: (int)count? ?
? ? 解決辦法就是,再寫(xiě)一個(gè)沒(méi)有參數(shù)的方法B,在B中傳遞參數(shù),如下所示:
- (void)clickShowLoveButton { ? ?
? ? [self dataWithName:@"showLove" andPictureCount:67];
}?
? ? 現(xiàn)在,我們已經(jīng)把一個(gè)需要傳遞參數(shù)的方法A,封裝到一個(gè)不需要傳遞參數(shù)的方法B中。此時(shí)為UIButton注冊(cè)單擊事件,只需要使用addTarget方法調(diào)用B方法即可,如下:
[self.btnShowLove addTarget:selfaction:@selector(clickShowLoveButton)? ? ? ?forControlEvents:UIControlEventTouchUpInside];? ?
? ? 這樣,我們就輕松解決題目的問(wèn)題了。