Passando Dados
Parte da seção Introdução ao SwiftUI do Journey de Swift da Coddy. Lição 36 de 50.
Uma tela de detalhes geralmente é sua própria struct de visualização, com uma propriedade para os dados que ela exibe:
struct RecipeDetail: View {
let recipe: Recipe
var body: some View {
Text("Ready in \(recipe.minutes) minutes")
.navigationTitle(recipe.name)
}
}O Swift fornece à struct um inicializador com um parâmetro para cada propriedade armazenada, então RecipeDetail(recipe: pancakes) a cria. Em uma lista, cada link passa os dados de sua própria linha:
List(recipes) { recipe in
NavigationLink(recipe.name) {
RecipeDetail(recipe: recipe)
}
}Cada linha recebe um link para uma tela de detalhes de sua receita. A visualização de detalhes não precisa saber nada sobre a lista.
Desafio
MédioFinalize RecipeDetail: ele mostra Ready in 15 minutes (usando o minutes da receita) em um texto com o identificador time e usa o nome da receita como título. Em seguida, transforme cada linha da lista em um NavigationLink com o nome da receita como título, que abre RecipeDetail para essa receita.
Experimente você mesmo
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao SwiftUI
4Modificadores
PreenchimentoPlanos de fundoOrdem dos modificadoresMolduras e formasRecapitulação - Criador de distintivos10Projeto - Coddy Coffee
Visão geral do projetoTelas de bebidas5Estado e Botões
BotõesA Propriedade @StateEstado Verdadeiro ou FalsoViews CondicionaisRecapitulação - Marcador de Pontos8Navegação
NavigationStackNavigationLinkPassando DadosSheets e AlertasRecapitulação - Guia de PlantasPratique por conta própria: Playground de Swift