2013-08-02 4 views
2

-objc를 AppleScript로합니다 여러 인수를 사용하여 메서드를 호출하는 방법을 알아 내면 다음과 같이 하나의 인수만으로 메서드를 호출해도 아무런 문제가 없습니다. -호출 여러 인수 내가하는 방법으로 AppleScript로-objc 스크립트가

@interface NSObject (ASHandlers) 
- (void)say:(NSString *)phrase; 
@end 

@implementation AppDelegate 

@synthesize window, sayTextField; 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{ 
    scriptFile = NSClassFromString(@"Test"); 
    if (!scriptFile){ 
     // Handle errors here 
    return; 
    } 
} 

- (IBAction)say:(id)sender{ 
    NSString *phrase = [sayTextField stringValue]; 
    [scriptFile say:phrase]; 
} 

누군가 도와 줄 수 있습니까?

감사합니다. Andy. 그것이 당신이 찾고 있던 무슨 경우에 따라서 여러 인자를 가진 IBAction를 가질 수 없습니다

-(void)action; 
-(void)actionWithSender:(id)sender; 
-(void)actionWithSender:(id)sender event:(UIEvent*)event; 

:

답변

1

는 우선, IBActions는의 ​​서명이 있어야합니다.

그러나

, 귀하의 질문에 대답하기 위해, 여러 인수와 방법을 가지고, 목표 - C에서, 그것과 같을 것이다 : AppleScriptObjC에서

- say:(NSString *)textToSay withUserName:(NSString *)userName { 
    ... 
} 

을, 당신은 당신의 목표 - C 방법 매개 변수를 모두 이동 메서드 이름의 시작 부분에 콜론을 밑줄로 바꾸고 인자를 괄호 안에 넣습니다.

on say_withUserName_(textToSay, userName) 
    ... 
end say_withUserName_ 
+0

고맙습니다. – Andy