Menu
Coddy logo textTech

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.

challenge icon

Desafio

Médio

Finalize 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()
        }
    }
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Swift