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.
Desafío
IntermedioCompleta 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()
}
}
}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
2Mostrar contenido
Vistas de textoNúmeros en el textoFuentesColoresSF SymbolsRepaso: etiqueta de precioPractica por tu cuenta: Playground de Swift