В одном из моих приложений я добавил несколько новых свойств в класс document
стандартного пакета AppleScript. Некоторые из этих свойств имеют тип text
, другие имеют тип boolean
. Я написал файл "sdef" и добавил его к ресурсам моего приложения.
Но когда я запускаю приложение, в консоли появляются такие сообщения:
.sdef предупреждение для типа «текст» атрибут «заголовок» класса «окно» в
Suite 'Standard Suite': ссылки на имена AppleScript могут не работать для
это свойство, поскольку его тип не является производным от NSString.
И когда я на самом деле пытаюсь получить значение из такого нового свойства с типом text
из AppleScript, произойдет сбой. Вызывается правильный метод в моем приложении, и он возвращает правильное значение как NSString
, но AppleScript возвращает с ошибкой. В консоли снова появляется сообщение:
Ошибка при возврате результата команды сценария: результат
объект ... "запрошенное значение NSString" ... не может быть преобразован в
дескриптор события Apple типа «текст». Этот экземпляр класса
'__NSCFString' вернул ноль при отправке -objectSpecifier (не так ли
переопределено?) и нет никакого принудительного типа, объявленного для сценариев
класс 'text'.
Что, вероятно, означает, что было невозможно преобразовать объект Cocoa NSString
в объект AppleScript text
.
Когда я пытаюсь получить значение из одного из новых логических свойств, оно работает просто отлично.
Что именно мне нужно сделать, чтобы преобразовать объект NSString
в объект AppleScript text
?