gpt4 book ai didi

cocoa - Cocoa NSString 和 AppleScript 文本类型的 AppScript 问题?

转载 作者:行者123 更新时间:2023-12-03 16:47:36 24 4
gpt4 key购买 nike

在我的一个应用程序中,我向标准 AppleScript 套件的 document 类添加了一些新属性。其中一些属性的类型为 text,其他属性的类型为 boolean。我编写了一个“sdef”文件并将 if 添加到我的应用程序的资源中。

但是当我启动应用程序时,控制台中会显示如下消息:

.sdef warning for type 'text' attribute 'title' of class 'window' in suite 'Standard Suite': AppleScript name references may not work for this property because its type is not NSString-derived.

当我实际尝试从 AppleScript 中的 text 类型的新属性获取值时,它将失败。我的应用程序中的正确方法被调用,它返回正确的值作为 NSString,但 AppleScript 返回错误。控制台中再次出现一条消息:

Error while returning the result of a script command: the result object... "the requested NSString value" ...could not be converted to an Apple event descriptor of type 'text'. This instance of the class '__NSCFString' returned nil when sent -objectSpecifier (is it not overridden?) and there is no coercible type declared for the scripting class 'text'.

这可能意味着无法将 Cocoa NSString 对象转换为 AppleScript text 对象。

当我尝试从新的 bool 属性之一获取值时,它工作得很好。

要将 NSString 对象转换为 AppleScript text 对象,我到底需要做什么?

最佳答案

我怀疑您需要将文本参数强制转换为 NSString。

Set sometextString to current application's NSString's stringwithTring:atext

在您的方法中使用它

并返回它。

Return sometextString as text

关于cocoa - Cocoa NSString 和 AppleScript 文本类型的 AppScript 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com