2012-01-30 3 views
0

IBaction에 둘 이상의 매개 변수가있을 수 있는지 궁금합니다. 이것은 제 IBAction입니다.객관적인 c에 하나 이상의 매개 변수가있는 함수 호출

-(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] 

답변

2

당신은 그렇게 할 수 없습니다. IBAction 호출은 최대 2 개의 인수 (이벤트를 포착 한 UIControl 및 이벤트 자체)가있는 선택자에서 발생할 수 있습니다.

버튼은 매개 변수에 필요한 값을 '알지 못합니다'- 사용자 상호 작용을 용이하게하기 위해 설계되었습니다.

당신은 아마 당신은 당신이 OP 요청과 같은 임의의 매개 변수를 가질 수 없다는 올바른지

- (IBAction) handleButton:(id) sender 
{ 
[self addToBestelling:some_string Pro_id:some_id Pro_naam: another_string Pro_prijs: yet_another_string]; 
} 
+1

의 라인을 따라 더 뭔가를 원하지만 UIControl'는 0, 1 또는 2 매개 변수를 보낼 수있는'있습니다. 보낸 사람과 이벤트를 전달할 수 있습니다. 이것이 작동하는 방법은 "Target-Action in UIKit"을 참조하십시오. http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html –

+0

물론! 나는 그것을 사용한 적이 없지만 그것은 사실입니다. 나는 그 해답을 수정했다. –

관련 문제