在我的一个应用程序中,我document
为标准 AppleScript 套件的类添加了一些新属性。其中一些属性具有类型text
,另一些具有类型boolean
。我编写了一个“sdef”文件并将 if 添加到我的应用程序的资源中。
但是当我启动应用程序时,控制台中有这样的消息:
.sdef 警告套件“标准套件”中类“窗口”的类型“文本”属性“标题”:AppleScript 名称引用可能不适用于此属性,因为它的类型不是 NSString 派生的。
而且,当我实际上尝试text
从 AppleScript 中的 type 的此类新属性中获取值时,它将失败。我的应用程序中的正确方法被调用,它返回正确的值NSString
,但 AppleScript 返回错误。控制台中再次出现一条消息:
返回脚本命令的结果时出错:结果对象...“请求的 NSString 值”...无法转换为“文本”类型的 Apple 事件描述符。发送 -objectSpecifier 时,类 '__NSCFString' 的这个实例返回 nil(它没有被覆盖吗?)并且没有为脚本类 'text' 声明强制类型。
这可能意味着无法将 CocoaNSString
对象转换为 AppleScripttext
对象。
当我尝试从一个新的布尔属性中获取值时,它工作得很好。
我究竟需要做什么才能将NSString
对象转换为 AppleScripttext
对象?