Как я могу получить текст из текстового поля
Я новичок в программировании и пытаюсь разработать игру для 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 в одном приложении; но это отдельный вопрос для отдельного поста.