Как я могу получить текст из текстового поля

Я новичок в программировании и пытаюсь разработать игру для Fortune Teller в соответствии с книгой "Программирование в студии Applescript для абсолютного новичка".

Когда игрок набирает вопрос в текстовом поле, а затем нажимает кнопку "Задать вопрос", программа случайным образом ответит "Да", "Нет", "Возможно".

Я сделал, как указано в книге. Но когда я нажимаю build и захожу в Xcode, он возвращает "2018-04-08 22:22:01.189 Fortune Teller[14813:245050] *** -[AppDelegate clicked:]: не удается получить каждый текст Text Field класса "NSObject". (Ошибка -1728)"

Может кто-нибудь сказать мне, как решить эту проблему? Спасибо!

Ниже приведен интерфейс. введите описание изображения здесь

Ниже приведен код.

- Этот код запускается всякий раз, когда игрок нажимает кнопку "Спросить" на clicked_ (theObject)

- Присвойте текст, введенный игроком, кликами по кнопке Ask, задайте вопрос к содержанию текстового поля "textbox" окна "main"

- Покажите сообщение об ошибке, если игрок не ввел текст, если вопрос = "", а затем отобразите диалоговое окно ¬ "Извините, но вы не задали вопрос. Пожалуйста, попробуйте еще раз." ¬ button {"OK"} возвращает конец, если - - назначить случайное число от 1 до 3 переменной с именем random set randomNo случайному числу от 1 до 3

если randomNo = 1, тогда установите ответ "Да" и завершите, если

если randomNo = 2, тогда установите ответ на "Нет"

если randomNo = 3, тогда установите ответ "Возможно"

beep - Воспроизвести звуковой сигнал, чтобы получить намерение игрока

отобразить диалоговое окно "Вопрос:" & вопрос & "Ответ:" & ответ и кнопки {"ОК"} end clicked_

1 ответ

Уч. Получить новую книгу.

Mac OS X 10.6 заменила AppleScript Studio на AppleScript-ObjC. В отличие от ASS, которая предоставляла вам команды и классы в стиле AppleScript для управления Cocoa, ASOC является лишь тонкой оболочкой для API-интерфейсов Objective-C Cocoa, поэтому вам необходимо изучить эти API, прежде чем вы сможете их использовать.

У Шейна Стэнли была электронная книга по программированию графического интерфейса в АСОК, но, к сожалению, она вышла из печати. В конце Apress Learn AppleScript, 3-е издание (которое я написал в соавторстве) была вводная глава по программированию графического интерфейса с помощью ASOC, и форум рассылки AppleScript Users /MacScripter.net, без сомнения, может указать вам на любые другие ресурсы, которые отсутствуют. там. Но в целом документация и поддержка не велики. Вы должны в значительной степени изучить ObjC, чтобы эффективно использовать ASOC, даже если просто читать документацию по Какао и переводить ее в синтаксис AS в своей голове. И он не обновлялся в течение нескольких лет, поэтому отсутствует поддержка новых функций ObjC, таких как блоки, что означает, что вы все равно в конечном итоге будете писать код ObjC, если захотите использовать эти API.

..

Честно говоря, если ваша цель - написать свои собственные приложения с графическим интерфейсом (а не автоматизировать уже существующие), я настоятельно рекомендую вам прикусить и изучить Apple Swift. Хотя это раздутый беспорядок языка, он хорошо документирован, широко используется и на 100% поддерживается Apple [в отличие от AppleScript]. Apple недавно анонсировала новую инфраструктуру GUI для написания приложений для iOS и macOS, и стало ясно, что Swift - это будущее.

Если вам нужно немного AppleScript для общения с другими приложениями, можно смешать Swift и AS в одном приложении; но это отдельный вопрос для отдельного поста.

Другие вопросы по тегам