我遵循this Getting Started guide来使用AWS Amplify CLI和适用于iOS的AWS开发工具包构建iOS应用。
我以前已经按照this Apple Getting Started guide中的步骤为简单的单一视图应用程序创建了基本框架。
一切工作顺利:我是能够建立我的空项目在Xcode,启动模拟器,看到我的白色黑屏之前和启动AWS的iOS SDK斯威夫特教程后
我的问题是,AWS教程假定比我拥有更多的Swift知识。因此,当它说到最后的时候—
从您的计算机中调用runMutation(),runQuery()和subscribe()方法 应用代码,例如单击按钮或启动应用 viewDidLoad中()。
-该指南实际上跳过了一些步骤。
我已经为本教程创建了必需的AWS资源,但我不知道如何调用函数并更新已设置的DynamoDB表。
假设我可以添加两个文本字段的用户界面视图(一个用于待办“名”,一个是“介绍”)和扎一个按钮,将它们,有人可以帮我去的方式休息?
更新 下面回答。我收到询问该问题的不赞成票,但有人可能会认为《入门指南》应该是独立的。没什么大不了的;我研究了这两个教程,解决了我的问题,并为那些像我一样困惑的人提供了答案。
答案 0 :(得分:2)
因此,在利用Apple iOS Swift入门指南创建AWS所需的必要视图元素之后,我能够成功完成《 AWS Amplify / iOS SDK入门指南》。这是什么意思:
两个文本字段:“名称”和“描述”;一个标签;和一个按钮。这是我的店铺属性:
//MARK: Properties
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var descTextField: UITextField!
@IBOutlet weak var todoItemLabel: UILabel!
我的viewDidLoad():
override func viewDidLoad() {
super.viewDidLoad()
// Handle the text field’s user input through delegate callbacks.
nameTextField.delegate = self
descTextField.delegate = self
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appSyncClient = appDelegate.appSyncClient
}
我的调用runMutation()的按钮动作:
//MARK: Actions
@IBAction func addToDoItem(_ sender: UIButton) {
runMutation()
}
然后更改runMutation(),以使用输入的值更新DynamoDB:
let mutationInput = CreateTodoInput(name: nameTextField.text ?? "No Entry", description: descTextField.text)
如果您遵循了AWS Amplify / iOS SDK Getting Started guide的步骤1-4,并添加了必要的UI元素,则上面的代码将完成交易。
还请注意,@ dennis-w在上面的注释中指向的the API reference处理了《入门指南》中AppDelegate中不推荐使用的引用。