AppleScript: Handler

本文深入探讨了AppleScript中Handler的两种形式:一种类似Objective-C的Label参数方式,另一种类似JavaScript的括号参数方式。特别是对Label参数的Handler进行了详细的解析,并提供了具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AppleScript绝对是个奇葩的存在!不管功能有多强大。

Handler有两种,一种是和OC类似的使用Label参数,一种是和javascript类似的使用括号把一堆参数都放在里面的。

label参数的Handler的写法非常奇怪,光看文档绝对让人迷糊。这里按照我的理解说一下。

on handleName of 第一个参数 [ASLabel 参数名...] [given label名:参数名[, label名:参数名...]]

这里解释一下。方括号括起来的是可以没有的。也就是只有一个参数的时候可以只在handlerName后面加一个of然后参数名就可以。这个简单,不多说。后面的比较麻烦。如果多余一个参数的时候,第二部分完全可以不要。只按照形式:given label名: 参数名的形式给出就可以。按照上面的形式可以推想到,使用given的形式可以给出很多的参数。比如:

on handlerName of firstone given another: anotherone, andone: anotherone1, andanotherone:anotherone2, andanotheragain:anotherone3

好的,回到handler定义形式的ASLabel部分。ASLabel是苹果系统定义的,而且在handler的定义中每一个ASLabel只能出现一次!郁闷就在于,苹果文档给出的这些关键词居然有无效的!看报错信息把,如果提示说“需要用到into什么的,而没有遇到”,那么恭喜你,你用的ASLabel不是系统定义的那个。

在调用label形式的handler的时候和定义的时候形式是一样的。这里主要针对的是后面的given定义形式。

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/p/4156665.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值