[英]Calling multiple arguments from objective-c to applescript-objc
我有一个带有如下方法的applescript-objc脚本: -
on say_(phrase, userName)
set whatToSay to "\"" & phrase & " " & userName & "\""
say whatToSay
end say_
我想从objective-c调用这个方法,但似乎无法弄清楚如何调用多个参数的方法,我没有问题调用只有一个参数的方法如下: -
@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];
}
请有人帮忙。
问候,安迪。
对于初学者,IBActions必须具有以下特征:
-(void)action;
-(void)actionWithSender:(id)sender;
-(void)actionWithSender:(id)sender event:(UIEvent*)event;
因此,如果您正在寻找的话,您不能拥有多个参数的IBAction。
但是,要回答您的问题,要在Objective-C中使用具有多个参数的方法,它将如下所示:
- say:(NSString *)textToSay withUserName:(NSString *)userName {
...
}
在AppleScriptObjC中,将所有Objective-C方法参数移动到方法名称的开头,用下划线替换冒号,并将参数放在括号中。
on say_withUserName_(textToSay, userName)
...
end say_withUserName_
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.