如何从提交的文本中获取文本

时间:2018-04-08 14:28:27

标签: xcode applescript applescript-studio

我是编程新手,正在尝试根据“绝对初学者的Applescript工作室编程”一书来设计一款Fortune Teller游戏。

当玩家在文本字段中键入问题然后单击“询问”按钮时,程序将随机给出答案“是”“否”“可能”。

我按书的指示做了。但是当我按下build并进入Xcode时,它返回“2018-04-08 22:22:01.189 Fortune Teller [14813:245050] *** - [AppDelegate点击:]:无法获取TextField的每个文本类“NSObject”。(错误-1728)“

谁能告诉我如何解决这个问题?谢谢!

以下是界面。 enter image description here

以下是代码。

- 只要玩家点击“询问”按钮,此代码就会运行  on clicked_(theObject)

- 指定玩家输入的文字点击“询问”按钮 将问题设置为窗口“main”的文本字段“textbox”的内容

- 如果播放器未输入任何文字,则显示错误消息 如果问题=“”那么     显示对话¬         “对不起,但你没有问一个问题。请再试一次。”¬         按钮{“OK”}         返回 万一 - 将1到3之间的随机数分配给名为random的变量 将randomNo设置为1到3的随机数

如果randomNo = 1那么     将答案设为“是” 结束如果

如果randomNo = 2那么     设置答案为“否” 结束如果

如果randomNo = 3那么     设置答案“可能” 结束如果

发出哔哔声 - 发出哔哔声以获得玩家的意图

显示对话框“问题:”&问题& “答案:”&回答&按钮{“OK”} 结束点击_

1 个答案:

答案 0 :(得分:1)

哎哟。得到一本新书。

Mac OS X 10.6将AppleScript Studio替换为AppleScript-ObjC。与ASS相比,它为您提供了用于控制Cocoa的AppleScript风格的命令和类,ASOC只是Cocoa的Objective-C API的一个薄包装,这意味着您需要先学习那些 API才能使用它。 / p>

Shane Stanley曾经在ASOC上有一本关于GUI编程的电子书,但我认为不幸的是它已经绝版了。在Apress的Learn AppleScript第3版(我共同撰写)的最后,有一篇关于ASOC GUI编程的介绍性章节,AppleScript用户邮件列表/ MacScripter.net论坛毫无疑问会指出你的其他资源是什么那里。但总而言之,文档和支持并不是很好。您几乎必须学习ObjC才能有效地使用ASOC,即使只是阅读Cocoa文档并将其转换为AS语法。并且它在几年内没有更新,因此缺乏对块等新的ObjC功能的支持,这意味着如果你想使用这些API,你最终还是会编写ObjC代码。

...

坦率地说,如果你的目标是编写自己的GUI应用程序(而不是自动化现有应用程序),我强烈建议你咬紧牙关学习Apple的Swift。虽然它是一种臃肿的语言混乱,但它有很好的文档记录,被广泛使用,并且100%得到Apple的支持[与AppleScript不同]。随着Apple最近发布了一个用于编写iOS和macOS应用程序的新GUI框架,很明显Swift是未来。

如果您需要一些AppleScript与其他应用程序交谈,可以在同一个应用程序中混合使用Swift和AS;但对于另一个帖子来说,这是一个不同的问题。