AWS Amplify / iOS SDK教程缺少步骤

时间:2019-02-02 18:26:09

标签: swift amazon-web-services aws-amplify aws-sdk-ios

我遵循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表。

假设我可以添加两个文本字段的用户界面视图(一个用于待办“名”,一个是“介绍”)和扎一个按钮,将它们,有人可以帮我去的方式休息?

更新 下面回答。我收到询问该问题的不赞成票,但有人可能会认为《入门指南》应该是独立的。没什么大不了的;我研究了这两个教程,解决了我的问题,并为那些像我一样困惑的人提供了答案。

1 个答案:

答案 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中不推荐使用的引用。

相关问题