AppleScript编辑器中显示的AppleScript类名称

丹尼尔·奥哈拉

我编写了一个可以使用AppleScript编写脚本的应用程序。现在,我可以在AppleScript编辑器中编写下一本书:

tell application "My Magazines"
    current magazine
end tell

它返回以下响应:

«class » "The NY Times" of application "My Magazines"

响应还可以。我可以提取它的属性,并使用在magazine类中定义的方法唯一困扰我的是«class »,这不是人类可读的。我试图找到我需要重写的方法,以便为用户提供对该方法的更好描述,但是找不到。

有没有我可以覆盖替换的方法«class » "The NY Times"有什么样Magazine "The NY Times"

magazine 在我的sdef文件中定义如下:

<class name="magazine" code="sMAG" description="A particular magazine">
        <cocoa class="MyMagazine" />

        <property name="name" code="pnam" type="text" access="r" description="Title of it">
            <cocoa key="name" />
        </property>
</class>

该类本身定义为:

@interface MyMagazine : NSObject
{
    NSString *name;
}

@property (nonatomic, readonly) NSString *name;

@end

并实现为:

@implementation MyMagazine
@synthesize name;

- (NSScriptObjectSpecifier *)objectSpecifier
{
    MyMagazinesList *list = [MyMagazinesList sharedList];

    return [[[NSNameSpecifier alloc] initWithContainerClassDescription:(NSScriptClassDescription *)[[list objectSpecifier] keyClassDescription]
                                               containerSpecifier:[list objectSpecifier]
                                                              key:@"magazines"
                                                             name:name] autorelease];

}

罗恩·罗特

您的sdef片段未显示您如何定义“当前杂志”一词。确保该部分正确至关重要。它看起来应该像这样:

<suite name=...>
  <class name="magazine" code="sMAG" ...>
    <cocoa class="MyMagazine" />
      <property name="name" code="pnam" type="text" access="r" ...>
         <cocoa key="name" />
      </property>
  </class>  

  <class name="application" ...>
    <cocoa class="MyApplication"/>
      <property name="current magazine" code="cMAG" type="magazine" access="r">
        <cocoa key="currentMagazine"/>
      </property>

MyApplication.h应该有一个

@property MyMagazine *currentMagazine;

最后,MyMagazine.m需要一个-objectSpecifier,它将MyMagazine *(当使用该方法时将是self)转换为该杂志NSScriptObjectSpecifier,该杂志的容器是应用程序对象(而不是当前杂志可能位于的内部列表) )。例如:

- (NSScriptObjectSpecifier *)objectSpecifier
{

  NSScriptClassDescription *containerClassDesc = (NSScriptClassDescription *)
      [NSScriptClassDescription classDescriptionForClass:[NSApp class]];

  return [[[NSNameSpecifier alloc]
      initWithContainerClassDescription:containerClassDesc
                     containerSpecifier:nil 
                                    key:@"magazine"
                                   name:self.name]];
}

在AppleScript中访问后,您应该会看到例如

tell application "My Magazines" to get current magazine
--> magazine "New York Times" of application "My Magazines"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AppleScript编辑器中显示的AppleScript类名称

来自分类Dev

编程AppleScript编辑器,代码

来自分类Dev

-[NSAppleScript executeAndReturnError:]给出了在AppleScript编辑器中工作的脚本错误

来自分类Dev

在笔管编辑器中显示文字

来自分类Dev

在 TinyMCE 编辑器中显示视频

来自分类Dev

在不打开编辑器的情况下执行applescript

来自分类Dev

AppleScript可在脚本编辑器中使用,但不能作为应用程序使用

来自分类Dev

编程。AppleScript编辑器。如果语句中大于,则小于

来自分类Dev

在Ace编辑器HTML脚本中查找所有类和ID名称

来自分类Dev

如何在 Visual Studio 编辑器中突出显示子类中的类变量

来自分类Dev

编辑器模板LabelFor-显示值而不是名称

来自分类Dev

phpstorm编辑器名称空间突出显示

来自分类Dev

编辑器模板LabelFor-显示值而不是名称

来自分类Dev

phpstorm编辑器名称空间突出显示

来自分类Dev

AppleScript获取查找器中单个选定文件的名称

来自分类Dev

编辑器:图像上载未在文本编辑器中显示

来自分类Dev

流编辑器替换输出中输入文件的名称?

来自分类Dev

chrome中的jQuery ace编辑器名称空间

来自分类Dev

在类中禁用自动生成的注释(后端编辑器)

来自分类Dev

ace编辑器中的Document类是什么

来自分类Dev

R默认编辑器中的语法突出显示

来自分类Dev

在Matlab编辑器中更改文本突出显示颜色

来自分类Dev

如何更改提交编辑器中显示的内容?

来自分类Dev

在Android Studio中的编辑器左侧显示git更改

来自分类Dev

在腻子中全屏显示vim编辑器

来自分类Dev

在Matlab编辑器中更改文本突出显示颜色

来自分类Dev

Android Studio插件-在编辑器中显示图像

来自分类Dev

距离线未在界面编辑器中显示

来自分类Dev

我的SciTE编辑器(AutoIt)中显示“ CR LF”

Related 相关文章

  1. 1

    AppleScript编辑器中显示的AppleScript类名称

  2. 2

    编程AppleScript编辑器,代码

  3. 3

    -[NSAppleScript executeAndReturnError:]给出了在AppleScript编辑器中工作的脚本错误

  4. 4

    在笔管编辑器中显示文字

  5. 5

    在 TinyMCE 编辑器中显示视频

  6. 6

    在不打开编辑器的情况下执行applescript

  7. 7

    AppleScript可在脚本编辑器中使用,但不能作为应用程序使用

  8. 8

    编程。AppleScript编辑器。如果语句中大于,则小于

  9. 9

    在Ace编辑器HTML脚本中查找所有类和ID名称

  10. 10

    如何在 Visual Studio 编辑器中突出显示子类中的类变量

  11. 11

    编辑器模板LabelFor-显示值而不是名称

  12. 12

    phpstorm编辑器名称空间突出显示

  13. 13

    编辑器模板LabelFor-显示值而不是名称

  14. 14

    phpstorm编辑器名称空间突出显示

  15. 15

    AppleScript获取查找器中单个选定文件的名称

  16. 16

    编辑器:图像上载未在文本编辑器中显示

  17. 17

    流编辑器替换输出中输入文件的名称?

  18. 18

    chrome中的jQuery ace编辑器名称空间

  19. 19

    在类中禁用自动生成的注释(后端编辑器)

  20. 20

    ace编辑器中的Document类是什么

  21. 21

    R默认编辑器中的语法突出显示

  22. 22

    在Matlab编辑器中更改文本突出显示颜色

  23. 23

    如何更改提交编辑器中显示的内容?

  24. 24

    在Android Studio中的编辑器左侧显示git更改

  25. 25

    在腻子中全屏显示vim编辑器

  26. 26

    在Matlab编辑器中更改文本突出显示颜色

  27. 27

    Android Studio插件-在编辑器中显示图像

  28. 28

    距离线未在界面编辑器中显示

  29. 29

    我的SciTE编辑器(AutoIt)中显示“ CR LF”

热门标签

归档