Vertel over nuttige Property Wrappers die je in het project hebt gebruikt
iOS
final klasse ProfileViewModel1 { enum Toestand { ... } var toestand: Toestand = .idle let service: UserService init(service: UserService) { ... } func onBackPress() { // view deinit } func loadUser() { toestand = .loading Task { [weak self] guard let self else { return } do { let gebruiker = try await self.service.fetchUser() self.toestand = .loaded(gebruiker) } catch { self.toestand = .failed(error.localizedDescription) } } } }
Gebruikt u momenteel GCD of Modern Concurrency (async/await) voor nieuwe taken gerelateerd aan threads?
Welke versie van Swift wordt gebruikt in het project — hoger of lager dan 6?
Als je een nieuw scherm of een nieuwe functie implementeert, schrijf je dan meteen in SwiftUI, of zijn er discussies over de keuze tussen UIKit en SwiftUI?
Array { value1 value2 if condition { value3 } }
Toen je bij het project kwam, was Swift 6 er al, of vond de overgang plaats tijdens jouw aanwezigheid?
Gebruikt u de Viper-architectuur voor UIKit? Is het van toepassing op alle applicaties?
Wat is de minimale iOS-doelstelling in het project nu?
Vertel over interessante bronnen voor ontwikkeling — YouTube-kanalen, Telegram-kanalen, gemeenschappen, tools
Zijn er problemen, workarounds of beperkingen met betrekking tot SwiftUI voor iOS 16 ten opzichte van 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("Fout bij het downloaden van afbeelding: \(error)") } } } Button("Download") { 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 } } } ```
Zelf -> Taak -> (sterk) Zelf .... Terug -> View desinit -> View model deinit?
Wat wordt gebruikt voor presentatiemodules in UIKit en SwiftUI — welke architectuur?
protocol SomeProtocol { func test() } func test1_1(waarde: SomeProtocol) {} func test1_2(waarde: any SomeProtocol) {} func test2_1(waarde: some SomeProtocol) {} func test2_2<Waarde: SomeProtocol>(waarde: Waarde) {} class A { func test2_2<Waarde: SomeProtocol>(waarde: Waarde) { } } class B: SomeProtocol { func test() {} } class C: B {} A().test2_2(waarde: B())
Als je een herbruikbaar knopcomponent zou ontwerpen voor een design-systeem in SwiftUI met verschillende stijlen (primair/secundair), hoe zou je dat implementeren?
Wanneer en hoe vindt de annulering plaats bij het gebruik van DispatchQueue met WorkItem en het aanroepen van cancel()?