Sobes.tech

lasă ca parent să fie Task { lasă ca child să fie Task { print("child started, isCancelled = ", Task.isCancelled) // NU 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 secundă parent.cancel() /////// lasă ca parent să fie Task { 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 secundă parent.cancel()

Senior
306

Au fost probleme cu concurența (Sendable, Sendable nesigur, trecerea între actori) în modulele cu care ați lucrat direct?

Senior
228

protocol SomeProtocol {} func test1_1(valoare: SomeProtocol) {} func test2_1(valoare: some SomeProtocol) {} func test1_2(valoare: any SomeProtocol) {}

Senior
198

Cum funcționează sistemul de design între UIKit și SwiftUI — există duplicare de componente sau învelișuri?

Senior
195

protocol SomeProtocol {} func test1_1(valoare: SomeProtocol) {} func test1_2(valoare: any SomeProtocol) {}

Senior
182

lasă ca părintele să fie Task { let child = Task { print("copilul a început, isCancelled = ", Task.isCancelled) // for index in (1...[phone]) { print(index) } print("copilul a terminat, isCancelled = ", Task.isCancelled) // } await child.value } try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 secundă parent.cancel()

Senior
181

Vorbește-mi mai detaliat despre ultimul tău proiect — modulul de galerie foto de pe Avito, pentru care ai fost responsabil (închiriere pe termen scurt, formular de rezervare etc.)

Senior
179

protocol SomeProtocol {} funcție test1_1(valoare: SomeProtocol) {} funcție test1_2(valoare: orice SomeProtocol) {} funcție test2_1(valoare: some SomeProtocol) {} funcție test2_2<Valoare: SomeProtocol>(valoare: Valoare) {} clasă A { funcție test2_2<Valoare: SomeProtocol>(valoare: Valoare) { } } clasă B: SomeProtocol { } A().test2_2(valoare: B())

Senior
179

Navigația este scrisă în UIKit, iar alertele/foile le scoți în UIKit sau folosești mijloacele native ale SwiftUI?

Senior
177

Cum a fost implementată interacțiunea cu gesturile și zoom-ul în galeria foto — în UIKit sau SwiftUI?

Senior
172

Există alte macro-uri în proiect în afară de stratul de rețea?

Senior
172

Vorbește despre Property Wrapper-urile utile pe care le-ai folosit în proiect

Senior
171

struct ExampleView: View { var body: some View { VStack { FormView() Button("Reset") { // TODO: } } } } // DOAR CITIRE 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) } } }

Senior
170

Care este ținta minimă iOS în prezent în proiect?

Senior
164

Array { value1 value2 if condition { value3 } }

Senior
164

Când ai venit în proiect, era deja Swift 6 sau tranziția a avut loc în timpul tău?

Senior
163

Care este versiunea limbajului Swift utilizată în proiect — mai mare sau mai mică de 6?

Senior
163

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) } } } }

Senior
162

Există probleme, soluții temporare sau restricții legate de SwiftUI în scopul iOS 16 comparativ cu iOS 15?

Senior
161

Dacă ai proiecta un component reutilizabil de buton pentru un sistem de design în SwiftUI cu stiluri diferite (primar/secundar), cum l-ai implementa?

Senior
159
/2