Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Затишна Галера
Додано 06 січ 2025 🌐 UK

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

@Zatishna_Galera
Кількість підписників: 2 690
Фото: 1,570
Відео: 475
Посилання: 2,090
Опис:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Джерело

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

Логотип телеграм спільноти - Затишна Галера Затишна Галера @Zatishna_Galera
734 Охват/переглядів 2025-06-11 09:30 Повідомлення №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