Menu
Coddy logo textTech

Pasar datos

Parte de la sección Introducción a SwiftUI del Journey de Swift de Coddy. Lección 36 de 50.

Una pantalla de detalles suele ser su propia estructura de vista con una propiedad para los datos que muestra:

struct RecipeDetail: View {
    let recipe: Recipe

    var body: some View {
        Text("Ready in \(recipe.minutes) minutes")
            .navigationTitle(recipe.name)
    }
}

Swift proporciona a la estructura un inicializador con un parámetro para cada propiedad almacenada, así que RecipeDetail(recipe: pancakes) la crea. En una lista, cada enlace pasa los datos de su propia fila:

List(recipes) { recipe in
    NavigationLink(recipe.name) {
        RecipeDetail(recipe: recipe)
    }
}

Cada fila obtiene un enlace a una pantalla de detalles de su receta. La vista de detalles no necesita saber nada sobre la lista.

challenge icon

Desafío

Intermedio

Completa RecipeDetail: muestra Ready in 15 minutes (usando los minutes de la receta) en un texto con el identificador time y usa el nombre de la receta como título. Después, convierte cada fila de la lista en un NavigationLink cuyo título sea el nombre de la receta y que abra RecipeDetail para esa receta.

Pruébalo tú mismo

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Introducción a SwiftUI

Practica por tu cuenta: Playground de Swift