clasă finală ProfileViewModel1 { enum Stare { ... } var stare: Stare = .idle let serviciu: UserService init(serviciu: UserService) { ... } func onBackPress() { // view deinit } func loadUser() { stare = .loading Task { [weak self] guard let self else { return } do { let utilizator = try await self.serviciu.fetchUser() self.stare = .loaded(utilizator) } catch { self.stare = .failed(error.localizedDescription) } } } }
iOS
Vorbește despre Property Wrapper-urile utile pe care le-ai folosit în proiect
Folosiți în prezent GCD sau Modern Concurrency (async/await) pentru sarcini noi legate de fire?
Care este versiunea limbajului Swift utilizată în proiect — mai mare sau mai mică de 6?
Dacă implementezi un ecran nou sau o funcție nouă, scrii imediat în SwiftUI, sau există discuții despre alegerea între UIKit și SwiftUI?
Array { value1 value2 if condition { value3 } }
Când ai venit în proiect, era deja Swift 6 sau tranziția a avut loc în timpul tău?
Folosiți arhitectura Viper pentru UIKit? Se aplică tuturor aplicațiilor?
Care este ținta minimă iOS în prezent în proiect?
Vorbește despre resurse interesante pentru dezvoltare — canale YouTube, canale Telegram, comunități, instrumente
Există probleme, soluții temporare sau restricții legate de SwiftUI în scopul iOS 16 comparativ cu iOS 15?
@MainActor final class ViewModel: ObservableObject { @Published var image: UIImage? func onDownloadPhoto(url: URL) { do { let data = try Data(contentsOf: url) image = UIImage.init(data: data) } catch { log.error("Eșec la descărcarea imaginii: \(error)") } } } Button("Descarcă") { onDownloadPhoto(url) }
```swift struct ContentView: View { var body: some View { ScrollView { content .padding(20) } .background(Color(.systemGroupedBackground)) .overlay(alignment: .bottom) { continueButton } } } ``` ```swift struct ContentView: View { var body: some View { ScrollView { content .padding(20) } .background(Color(.systemGroupedBackground)) .safeAreaInset(edge: .bottom) { continueButton } } } ```
Auto -> Sarcină -> (puternic) Auto .... Înapoi -> View desinit -> View model deinit?
Ce se folosește pentru modulele de prezentare în UIKit și SwiftUI — ce arhitectură?
protocol SomeProtocol { func test() } func test1_1(valor: SomeProtocol) {} func test1_2(valor: any SomeProtocol) {} func test2_1(valor: some SomeProtocol) {} func test2_2<Valoare: SomeProtocol>(valor: Valoare) {} class A { func test2_2<Valoare: SomeProtocol>(valor: Valoare) { } } class B: SomeProtocol { func test() {} } class C: B {} A().test2_2(valor: B())
Dacă ai proiecta un component reutilizabil de buton pentru un sistem de design în SwiftUI cu stiluri diferite (primar/secundar), cum l-ai implementa?
Când și cum are loc anularea atunci când se folosește DispatchQueue cu WorkItem și se apelează cancel()?