Estoy siguiendo esta guía de introducción para crear una aplicación de iOS con la CLI de AWS Amplify y el SDK de AWS para iOS.
Y anteriormente había seguido los pasos de esta guía de introducción de Apple para simplemente crear el marco básico para una aplicación de vista única.
Todo funciona sin problemas: pude compilar mi proyecto vacío en Xcode, iniciar el simulador, ver mi pantalla blanca en blanco, tanto antes como después de iniciar el tutorial de AWS iOS SDK Swift.
Mi problema es que el tutorial de AWS supone más conocimientos de Swift que los que tengo. Entonces, cuando dice lo siguiente hacia el final—
Llame a los métodos runMutation(), runQuery() y subscribe() desde el código de su aplicación, como al hacer clic en un botón o cuando su aplicación se inicia en viewDidLoad().
—la guía esencialmente se ha saltado algunos pasos.
Ya creé los recursos de AWS necesarios para este tutorial, pero no sé cómo llamar a las funciones y actualizar la tabla de DynamoDB que se configura.
Suponiendo que puedo agregar dos campos de texto a la vista de la interfaz de usuario (uno para el 'nombre' de ToDo y otro para la 'descripción') y vincularles un botón, ¿alguien puede ayudarme con el resto del camino?
ACTUALIZAR Respondido a continuación. Recibí un voto negativo por hacer esta pregunta, pero se podría argumentar que una guía de introducción debería ser independiente. No hay problema; Trabajé en los dos tutoriales, resolví mi problema y publiqué una respuesta para aquellos que están tan confundidos como yo.
Por lo tanto, pude completar con éxito la guía de introducción a AWS Amplify / iOS SDK después de aprovechar la guía de introducción a Apple iOS Swift para crear los elementos de vista necesarios requeridos por AWS. Lo que eso significa es esto:
Dos campos de texto: 'nombre' y 'descripción'; una etiqueta; y un botón. Aquí están mis propiedades de salida:
//MARK: Properties @IBOutlet weak var nameTextField: UITextField! @IBOutlet weak var descTextField: UITextField! @IBOutlet weak var todoItemLabel: UILabel!Mi vistaDidLoad():
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 }Mi acción de botón que llama a runMutation():
//MARK: Actions @IBAction func addToDoItem(_ sender: UIButton) { runMutation() }Y cambia a runMutation() para actualizar DynamoDB con los valores ingresados:
let mutationInput = CreateTodoInput(name: nameTextField.text ?? "No Entry", description: descTextField.text)Si ha seguido los pasos 1 a 4 de la guía de introducción a AWS Amplify / iOS SDK y ha agregado los elementos necesarios de la interfaz de usuario, entonces el código anterior cerrará el trato.
También tenga en cuenta que la referencia de la API señalada por @dennis-w en los comentarios anteriores se encarga de las referencias obsoletas en AppDelegate de la guía de introducción.