Проблемы с 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
Другие вопросы по тегам