Как обеспечить поддержку AppleScript для «создания нового» элемента с одним из его собственных элементов

Я использую метод «newScriptingObjectOfClass…» в классе делегата моего приложения для размещения основных данных. Я могу «сделать» элемент контейнера «уровнем» просто отлично, однако я понятия не имею, как «сделать» элемент с одним из его собственных элементов. Чтобы создать новую «единицу» — элемент «уровней» — я должен вернуться к содержащему «уровню», что является круговой логикой.

Вот что кажется правильным способом создания моего нового уровня, однако команда «сделать» не предоставляет термин «элемент» в качестве термина параметра для элемента «уровень», «юнит».

tell application "SpellAnalysis"

     make new level with make new element unit  

end tell

Вот что показывает мой файл 'sdef':

level n : Коллекция уровней приложения.

элементы содержат единицы; содержащиеся в приложении.

единица n [дюйм. level] : единица синхронизации коллекции единиц уровня

элементы содержат разделы; содержится по уровням.

Также следует отметить, что мой метод KVC никогда не вызывается из метода «newScriptObjectClass…», когда я успешно создаю новый «уровень» (без содержащегося «юнита»):

- (void)insertObject:(id)entry inLevelObjectsAtIndex:(NSUInteger)index {} 

person Antony    schedule 31.08.2013    source источник


Ответы (1)


Это скомпилировано для меня:

tell application "SpellAnalysis"

    ((make new level with «class») make new element with unit) // syntax 1

    ((make new level in class) make new unit with element) // syntax 2

конец скажи

    end tell

вам, вероятно, придется его немного подправить, но это общая идея синтаксиса. когда я попробовал ваш пример, я получил:

'ожидается "в", имя переменной, имя класса, имя другого параметра или свойства, но найдено имя команды.'

person Joe Habadas    schedule 31.08.2013
comment
Спасибо, Джо, за ответ. Не так много желающих углубиться в эзотерическую тему поддержки AppleScript. Я попробовал предложенные вами команды AppleScript со многими вариациями, и ничего не работает. Моя лучшая попытка была: сказать приложению SpellAnalysis установить thisLevel, чтобы создать новый уровень со свойствами {номер уровня: 1} создать новый юнит на этом уровне со свойствами {номер юнита: 1} end tell - person Antony; 01.09.2013
comment
Я продолжаю получать сообщение об ошибке AS: error SpellAnalysis получил ошибку: недопустимая форма ключа. На данный момент я считаю, что должно быть что-то не так с моей организацией sdef или, возможно, с тем, как определены мои классы. - person Antony; 01.09.2013