Вызов функции с более чем одним параметром в цели c
Мне было интересно, если IBaction может иметь более 1 параметра. Это мой IBAction.
-(IBAction)addToBestelling:(NSString *)Pro_id:(NSString *)Pro_naam:(NSString *)Pro_prijs:(NSString *)Pro_aantal{
arrayProductBestelling = [[NSMutableArray alloc] init];
arrayBestelling = [[NSMutableArray alloc] init];
[arrayProductBestelling addObject:Pro_id];
[arrayProductBestelling addObject:Pro_naam];
[arrayProductBestelling addObject:Pro_prijs];
[arrayProductBestelling addObject:Pro_aantal];
[arrayBestelling addObject:arrayProductBestelling];
NSLog(@"%@",arrayBestelling);
}
Но как мне вызвать эту функцию на моей кнопке? Я попробовал это, но не сработало.
cell.btnadd addTarget:self action:@selector(addToBestelling:strId:strNaam:strPrijs:strAantal) forControlEvents:UIControlEventTouchUpInside]
1 ответ
Вы не можете сделать это. Вызовы IBAction могут происходить с селекторами с максимум 2 аргументами (UIControl, который перехватил событие, и само событие).
Кнопка не "знает" значения, которые требуются для параметров, она разработана для облегчения взаимодействия с пользователем.
Вы, вероятно, хотите что-то еще по линии
- (IBAction) handleButton:(id) sender
{
[self addToBestelling:some_string Pro_id:some_id Pro_naam: another_string Pro_prijs: yet_another_string];
}