laat parent een Task zijn { laat child een Task zijn { print("child started, isCancelled = ", Task.isCancelled) // NEE false for index in (1...[phone]) { print(index) } print("child finished, isCancelled = ", Task.isCancelled) // } await child.value } try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 seconde parent.cancel() /////// laat parent een Task zijn { async let child: Void = { print("child started, isCancelled =", Task.isCancelled) for index in (1...[phone]) { print(index) } print("child finished, isCancelled =", Task.isCancelled) }() await child } try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 seconde parent.cancel()
iOS
Hadden zich problemen met gelijktijdigheid (Sendable, unchecked Sendable, overgang tussen actoren) in de modules waarmee je direct werkte?
protocol SomeProtocol {} func test1_1(waarde: SomeProtocol) {} func test2_1(waarde: some SomeProtocol) {} func test1_2(waarde: any SomeProtocol) {}
Hoe werkt het ontwerp systeem tussen UIKit en SwiftUI — is er duplicatie van componenten of wrappers?
protocol SomeProtocol {} func test1_1(waarde: SomeProtocol) {} func test1_2(waarde: any SomeProtocol) {}
protocol SomeProtocol {} func test1_1(value: SomeProtocol) {} func test1_2(value: any SomeProtocol) {} func test2_1(value: some SomeProtocol) {} func test2_2<Value: SomeProtocol>(value: Value) {} class A { func test2_2<Value: SomeProtocol>(value: Value) { } } class B: SomeProtocol { } A().test2_2(value: B())
Is de navigatie geschreven in UIKit, en worden alerts/heets in UIKit gedaan of gebruik je de native middelen van SwiftUI?
laat de ouder Task zijn { let child = Task { print("kind gestart, isCancelled = ", Task.isCancelled) // for index in (1...[phone]) { print(index) } print("kind klaar, isCancelled = ", Task.isCancelled) // } await child.value } try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 seconde parent.cancel()
Vertel me meer over je laatste project — de fotogalerijmodule op Avito, waarvoor je verantwoordelijk was (korte termijn verhuur, reserveringsformulier, etc.)
Vertel over nuttige Property Wrappers die je in het project hebt gebruikt
Zijn er nog meer macro's in het project naast de netwerklaag?
struct ExampleView: View { var body: some View { VStack { FormView() Button("Reset") { // TODO: } } } } // ALLEEN LEZEN struct FormView: View { @State private var firstname = "" @State private var lastname = "" @State private var email = "" @State private var website = "" var body: some View { Form { TextField("Enter firstname", text: self.$firstname) TextField("Enter lastname", text: self.$lastname) TextField("Enter email address", text: self.$email) TextField("Enter website address", text: self.$website) } } }
Hoe was de interactie met gebaren en zoom in de fotogalerij geïmplementeerd — in UIKit of SwiftUI?
Hoe behulpzaam zijn AI-tools (Cursor, Proxyman, etc.) om je productiever te maken op het werk?
Welke versie van Swift wordt gebruikt in het project — hoger of lager dan 6?
Wat is de minimale iOS-doelstelling in het project nu?
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?
Zijn er problemen, workarounds of beperkingen met betrekking tot SwiftUI voor iOS 16 ten opzichte van iOS 15?
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) } } } }