Проблемы с AppScript с типами текста Какао NSString и AppleScript?
В одном из моих приложений я добавил несколько новых свойств document
класс стандартного набора AppleScript. Некоторые из этих свойств имеют тип text
другие имеют тип boolean
, Я написал файл "sdef" и добавил, если к ресурсам моего приложения.
Но когда я запускаю приложение, в консоли появляются такие сообщения:
Предупреждение.sdef для типа "текст" атрибут "заголовок" класса "окно" в наборе "Стандартный набор": ссылки на имена AppleScript могут не работать для этого свойства, поскольку его тип не является производным от NSString.
И когда я на самом деле пытаюсь получить значение из такого нового свойства с типом text
изнутри AppleScript, это потерпит неудачу. Вызывается правильный метод в моем приложении, и он возвращает правильное значение как NSString
, но AppleScript возвращает с ошибкой. В консоли снова есть сообщение:
Ошибка при возврате результата команды сценария: объект результата... "запрошенное значение NSString"... не может быть преобразован в дескриптор события Apple типа "текст". Этот экземпляр класса __NSCFString возвратил nil при отправке -objectSpecifier (не переопределен ли он?), И нет никакого принудительного типа, объявленного для класса сценария 'text'.
Что, вероятно, означает, что было невозможно преобразовать какао NSString
объект в AppleScript text
объект.
Когда я пытаюсь получить значение из одного из новых логических свойств, оно работает просто отлично.
Что именно мне нужно сделать, чтобы преобразовать NSString
объект в AppleScript text
объект?
1 ответ
Я подозреваю, что вам нужно привести текстовый параметр в NSString.
Т.е.
Set sometextString to current application's NSString's stringwithTring:atext
Используйте это в своем методе
И чтобы вернуть это вы делаете.
Return sometextString as text