Информация о версии AppleScriptObjC
Содержание:
Введение
AppleScriptObjC является новой платформой в OS X v10.6, который позволяет приложениям Какао быть записанными в AppleScript. Используя AppleScriptObjC, Ваш код AppleScript может работать с любой платформой Какао и может функционировать как первоклассного гражданина в мире Какао.
Это примечание покрывает синтаксические подробные данные использования AppleScriptObjC и доступа к функциональности Какао от AppleScript. Для записи законченного приложения Вы должны будете изучить само Какао и должны запуститься с Фундаментального Руководства по Какао.
AppleScriptObjC obsoletes AppleScript Studio, осуждающийся с OS X v10.6. Разработчики, использующие AppleScript Studio, должны мигрировать на AppleScriptObjC и должны запустить новое использование проектов AppleScriptObjC исключительно. Разработка AppleScript Studio все еще поддерживается, но функционирует для создания новых проектов, были удалены, и палитра AppleScript Studio в Интерфейсном Разработчике была скрыта. Чтобы повторно включить его, используйте эту команду в Терминале, и затем повторно запустите Интерфейсного Разработчика:
defaults write com.apple.InterfaceBuilder3 IBEnableAppleScriptStudioSupport -bool YES |
Objective-C/AppleScript Быстрое Руководство по Переводу
AppleScriptObjC позволяет объектам AppleScript служить объектами Objective C во время выполнения Какао, таким образом, использование разработки AppleScriptObjC следует за Objective C и образцами Какао. Эта таблица является справочником к эквивалентам AppleScript для различных функций Objective-C, показанных как определение суррогатного класса с версией Objective C слева и версией AppleScript справа.
Objective C |
AppleScript |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Идентификаторы
AppleScript различает идентификаторы приложений, которые являются условиями, определенными AppleScript или интерфейсом сценариев приложения и идентификаторами пользователей, которые являются условиями, определенными писателем сценария. В Редакторе AppleScript предпочтения они упоминаются как “ключевые слова приложения” и “переменные и имена подпрограммы”, соответственно. Идентификаторы, переданные AppleScriptObjC, в определенных именах методов Какао, должны быть идентификаторами пользователей. Если идентификатор конфликтовал бы с идентификатором существующего приложения (или даже зарезервированное слово AppleScript), можно вынудить его считаться идентификатором пользователя путем выхода из него с вертикальными панелями.
Например, NSColor имеет a set метод для того, чтобы выбрать текущий цвет получения, но set также зарезервированное слово AppleScript для присвоения переменных. Используя set как имя обработчика, не выходя это была бы синтаксическая ошибка, таким образом, корректное использование выглядит примерно так:
tell myColor to |set|() |
Точно так же NSWindow имеет a bounds свойство, но bounds также определенный с помощью приложения срок, так для использования его в качестве NSWindow, этого нужно оставить:
get myWindow's |bounds| |
Когда в сомнении, добавьте вертикальные панели: если они не необходимы, то они просто избыточны и безопасны.
Классы и константы
Классы обрабатываются как элементы прозвища, и константы и перечисляемые значения как свойства, оба из current application. Наблюдайте использование NSView, NSColor, и NSCalibratedRGBColorSpace в этом примере:
script MyView |
property parent: class "NSView" |
on drawRect_(rect) |
set c to current application's class "NSColor"'s whiteColor() |
c's colorUsingColorSpaceName_(current application's NSCalibratedRGBColorSpace) |
end drawRect_ |
end script |
В местах, где current application неявный контейнер, такой как в родительском свойстве или на верхнем уровне сценария, это может быть сокращено к my, или в случае спецификаторов класса, опущенных полностью. (В организации обработчика неявный контейнер является родителем объекта сценария, class "NSView", так current application's должно быть явным.) Это позволяет методу удобства сохранять ввод: определите свойства на верхнем уровне сценария, и затем обратитесь к свойствам в обработчике, как это:
property NSColor: class "NSColor" |
property NSCalibratedRGBColorSpace: my NSCalibratedRGBColorSpace |
script MyView |
property parent: class "NSView" |
on drawRect_(rect) |
set c to NSColor's whiteColor() |
c's colorUsingColorSpaceName_(NSCalibratedRGBColorSpace) |
end drawRect_ |
end script |
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 27.05.2009