AWS Amplify / iOS SDK 教程缺少步骤

mot*_*vus 5 amazon-web-services swift aws-amplify aws-sdk-ios

我正在按照此入门指南使用 AWS Amplify CLI 和适用于 iOS 的 AWS 开发工具包构建 iOS 应用程序。

我之前按照Apple 入门指南中的步骤简单地创建了单视图应用程序的基本框架。

一切顺利:我能够在 Xcode 中构建我的空项目,启动模拟器,看到我的白色空白屏幕,无论是在启动 AWS iOS SDK Swift 教程之前还是之后。

我的问题是,AWS 教程假定的 Swift 知识比我多。所以当它在最后说以下内容时——

从您的应用程序代码中调用 runMutation()、runQuery() 和 subscribe() 方法,例如通过单击按钮或当您的应用程序在 viewDidLoad() 中启动时。

- 该指南基本上跳过了一些步骤。

我已经为本教程创建了所需的 AWS 资源,但我不知道如何调用函数并更新设置的 DynamoDB 表。

假设我可以向 UI 视图添加两个文本字段(一个用于待办事项“名称”,一个用于“描述”)并为它们绑定一个按钮,有人可以帮助我完成剩下的工作吗?

更新 在下面回答。我因提出这个问题而遭到否决,但有人可能会认为入门指南应该是独立的。没什么大不了的;我学习了这两个教程并解决了我的问题,并为那些像我一样困惑的人发布了答案。

mot*_*vus 4

因此,在利用 Apple iOS Swift 入门指南创建 AWS 所需的必要视图元素后,我能够成功完成 AWS Amplify / iOS SDK 入门指南。这意味着什么:

\n\n

两个文本字段:“名称”和“描述”;一个标签; 和一个按钮。这是我的出口属性:

\n\n
//MARK: Properties\n@IBOutlet weak var nameTextField: UITextField!\n@IBOutlet weak var descTextField: UITextField!\n@IBOutlet weak var todoItemLabel: UILabel!\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 viewDidLoad():

\n\n
override func viewDidLoad() {\n    super.viewDidLoad()\n\n    // Handle the text field\xe2\x80\x99s user input through delegate callbacks.\n    nameTextField.delegate = self\n    descTextField.delegate = self\n\n    let appDelegate = UIApplication.shared.delegate as! AppDelegate\n    appSyncClient = appDelegate.appSyncClient\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的按钮操作调用 runMutation():

\n\n
//MARK: Actions\n@IBAction func addToDoItem(_ sender: UIButton) {\n    runMutation()\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

并更改 runMutation() 以使用输入的值更新 DynamoDB:

\n\n
let mutationInput = CreateTodoInput(name: nameTextField.text ?? "No Entry", description: descTextField.text)\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您已遵循AWS Amplify/iOS SDK 入门指南的步骤 1 - 4并添加了必要的 UI 元素,那么上面的代码将完成交易。

\n\n

另请注意,上面注释中 @dennis-w 指出的API 参考负责处理入门指南中 AppDelegate 中已弃用的参考。

\n