Iniciar sesión Registro
Anuncios
Tu espacio publicitario
Reserva este slot exclusivo para el periodo elegido.
Comprar publicidad →
Logotipo de la comunidad de telegram - Затишна Галера
Añadido 06 ene. 2025 🌐 UK

Затишна Галера

@Zatishna_Galera
Número de suscriptores: 2 690
Fotos: 1,570
Videos: 475
Enlaces: 2,090
Descripción:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Fuente

Затишна Галера | iOSКомпас 🧭1️⃣0️⃣6️⃣ Завдання 106Як зробити клас спостережуваним (почи...

Logotipo de la comunidad de telegram - Затишна Галера Затишна Галера @Zatishna_Galera
734 Vistas/Alcance 2025-06-11 09:30 Mensaje №1958
#iOSКомпас 🧭1️⃣0️⃣6️⃣ Завдання 106Як зробити клас спостережуваним (починаючи з iOS 17)?

З вами знову той самий автор каналу @badlinkschannel. Не забувайте підписатися. А ми продовжуємо наші яблучні історіі.

🤔 Починаючи з iOS 17, Apple представила новий спосіб зробити клас спостережуваним за допомогою атрибута @Observable та властивості @Published. Цей підхід спрощує створення спостережуваних об’єктів і покращує інтеграцію зі SwiftUI.

🔣 Створення спостережуваного класу з використанням @Observable1️⃣ Імпортуємо необхідні модулі: import SwiftUI
2️⃣ Створюємо клас і додаємо атрибут @Observable: @Observableclass ViewModel { @Published var message: String = "Привіт, світе!"}
3️⃣ Використовуємо спостережуваний об’єкт у SwiftUI

Тепер ми можемо використовувати наш спостережуваний об’єкт у SwiftUI, і представлення автоматично оновлюватиметься при зміні властивостей, позначених як @Published.struct ContentView: View { @StateObject private var viewModel = ViewModel() var body: some View { VStack { Text(viewModel.message) Button("Змінити повідомлення") { viewModel.message = "Привіт, SwiftUI!" } } }}
🤓 Приклад із поясненням🔣 Повний приклад використання спостережуваного класу в SwiftUI: import SwiftUI@Observableclass ViewModel { @Published var message: String = "Привіт, світе!"}struct ContentView: View { @StateObject private var viewModel = ViewModel() var body: some View { VStack { Text(viewModel.message) Button("Змінити повідомлення") { viewModel.message = "Привіт, SwiftUI!" } } }}
🔣 Приклад використання @EnvironmentObject: import SwiftUI@Observableclass ViewModel { @Published var message: String = "Привіт, світе!"}struct ParentView: View { @StateObject private var viewModel = ViewModel() var body: some View { ChildView() .environmentObject(viewModel) }}struct ChildView: View { @EnvironmentObject var viewModel: ViewModel var body: some View { VStack { Text(viewModel.message) Button("Змінити повідомлення") { viewModel.message = "Привіт, SwiftUI!" } } }}
@Zatishna_Galera