2014-11-08 3 views
0

Я получаю следующую ошибку, когда добавляюTarget в UIButton внутри UiCollectionView.UIButton addTarget с параметрами внутри UIViewCollectionView

Мой код:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *identifier = @"Cell"; 

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath]; 

    UIButton *btnBonus = (UIButton *) [cell viewWithTag:405]; 
    [btnBonus setTag: [arrayTruebonusTags[0] intValue]]; 
    [btnBonus addTarget:self action:@selector(goBonus:) forControlEvents:UIControlEventTouchUpInside]; 

    return cell; 

} 

- (void) goBonus:(id) sender 
{ 
    UIButton *button = (UIButton *) sender; 
} 

И я получаю эту ошибку:

[Controller goBonus]: unrecognized selector sent to instance 0x16dc1190 
2014-11-08 11:11:41.991 demo[3570:1707966] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Controller goBonus]: unrecognized selector sent to instance 0x16dc1190' 
*** First throw call stack: 
(0x299cdc1f 0x375b2c8b 0x299d3039 0x299d0f57 0x29902df8 0x2cebdc2b 0x2cebdbd1 0x2cea8863 0x2cebd63d 0x2ce8242d 0x2ceb72f1 0x2ceb6bcd 0x2ce8d3dd 0x2d100c29 0x2ce8be39 0x29994377 0x29993787 0x29991ded 0x298e0211 0x298e0023 0x30cbf0a9 0x2ceec1d1 0xf3599 0x37b32aaf) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Проблема в том, что если бы я сделать то же самое без goBonus: и в методе -goBonus {} он работает как Шарм.

ответ

1

Аварийный журнал, который вы опубликовали, жалуется на недостающий метод [Controller goBonus].

Введенный вами код показывает, что вы добавили действие goBonus: (с двоеточием, что означает, что он принимает параметр).

Тот факт, что авария не соответствует вашему коду, говорит мне, что у вас есть несоответствие где-то. Селектор в методе addTarget, @selector(goBonus:), подходит для метода, который вы опубликовали, но журнал сбоев жалуется на отсутствующий селектор @selector(goBonus) (без двоеточия, следовательно нет параметров).

Вам необходимо разобраться с этим.

+0

Вы были правы! была моя ошибка, в раскадровке у меня был предыдущий goBonus, который я забыл удалить. Благодаря!. –

+0

Если я решил вашу проблему, вы должны принять мой ответ, чтобы другие знали, что на вопрос был дан ответ. –

+0

да извините 3 минуты, чтобы проверить, но я делал другие вещи, вот вам и спасибо! –

Смежные вопросы