laissez parent être Task { laissez que child soit Task { print("child started, isCancelled = ", Task.isCancelled) // NO 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() /////// laissez que parent soit 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 seconde parent.cancel()
iOS
Y a-t-il eu des problèmes de concurrence (Sendable, Sendable non vérifié, transition entre acteurs) dans les modules avec lesquels vous travailliez directement?
protocole SomeProtocol {} func test1_1(valeur: SomeProtocol) {} func test2_1(valeur: some SomeProtocol) {} func test1_2(valeur: any SomeProtocol) {}
Comment le système de conception fonctionne-t-il entre UIKit et SwiftUI — y a-t-il une duplication de composants ou d'enveloppes?
protocole SomeProtocol {} func test1_1(valeur: SomeProtocol) {} func test1_2(valeur: any SomeProtocol) {}
protocole SomeProtocol {} func test1_1(valeur: SomeProtocol) {} func test1_2(valeur: tout SomeProtocol) {} func test2_1(valeur: some SomeProtocol) {} func test2_2<Valeur: SomeProtocol>(valeur: Valeur) {} classe A { func test2_2<Valeur: SomeProtocol>(valeur: Valeur) { } } classe B: SomeProtocol { } A().test2_2(valeur: B())
Parle-moi plus en détail de ton dernier projet — le module de galerie photo sur Avito, dont tu étais responsable (location à court terme, formulaire de réservation, etc.)
La navigation est-elle écrite en UIKit, et les alertes/feuilles sont-elles externalisées dans UIKit ou utilisez-vous les moyens natifs de SwiftUI?
laissez le parent être Task { let child = Task { print("enfant démarré, isCancelled = ", Task.isCancelled) // for index in (1...[phone]) { print(index) } print("enfant terminé, isCancelled = ", Task.isCancelled) // } await child.value } try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 seconde parent.cancel()
Comment l'interaction avec les gestes et le zoom a-t-elle été implémentée dans la galerie de photos — en UIKit ou SwiftUI ?
Parle-moi des Property Wrapper utiles que tu as utilisés dans le projet
Y a-t-il d'autres macros dans le projet en plus de la couche réseau?
struct ExampleView: View { var body: some View { VStack { FormView() Button("Reset") { // TODO: } } } } // LECTURE SEULE 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) } } }
Dans quelle mesure les outils d'IA (Cursor, Proxyman, etc.) t'aident-ils à être plus productif au travail?
Quelle version du langage Swift est utilisée dans le projet : supérieure à 6 ou inférieure ?
struct CustomButtonStyleView: View { var body: some View { VStack { Button("Button") { print("Tapped") } } .buttonStyle(CustomButtonStyle()) } } private struct CustomButtonStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label .padding() .foregroundColor(.white) .frame(maxWidth: .infinity) .background(Color.red) .clipShape(RoundedRectangle(cornerRadius: 8)) } }
Quel est le ciblage iOS minimal actuel sur le projet?
Array { value1 value2 if condition { value3 } }
Lorsque vous êtes arrivé sur le projet, Swift 6 était-il déjà en place, ou la transition s'est-elle produite pendant votre présence?
```swift struct CustomButtonStyleView: View { var body: some View { VStack { Button("Button") { print("Tapped") } .buttonStyle(CustomButtonStyle()) } } } private struct CustomButtonStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label .padding() .foregroundColor(.white) .background(Color.red) .clipShape(RoundedRectangle(cornerRadius: 8)) } } ``` ```swift struct CustomButtonStyleView: View { var body: some View { VStack { Button("Button") { print("Tapped") } .buttonStyle(CustomButtonStyle()) } } } private struct CustomButtonStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label .padding() .foregroundColor(.white) .frame(maxWidth?) .background(Color.red) .clipShape(RoundedRectangle(cornerRadius: 8)) } } ``` ```swift struct CustomButtonStyleView: View { var body: some View { VStack { Button("Button") { print("Tapped") } .buttonStyle(CustomButtonStyle()) } } } private struct CustomButtonStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label //.padding() //.foregroundColor(.white) .frame(maxWidth: .infinity) .background(Color.red) //.clipShape(RoundedRectangle(cornerRadius: 8)) } } ``` ```swift struct CustomButtonStyleView: View { var body: some View { VStack { Button("Button") { print("Tapped") } .buttonStyle(CustomButtonStyle()) .frame(width: 200) } } } private struct CustomButtonStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label //.padding() //.foregroundColor(.white) .frame(maxWidth: .infinity) .background(Color.red) //.clipShape(RoundedRectangle(cornerRadius: 8)) } } ``` L'objectif semble être de personnaliser un style de bouton SwiftUI, en expérimentant avec différents modificateurs tels que padding, couleur de premier plan, largeur du cadre, couleur de fond et forme de découpe. La question concerne probablement la correction ou l'amélioration du style du bouton pour obtenir une apparence ou un comportement souhaité, comme faire en sorte que le bouton remplisse toute la largeur disponible ou ajuster son style visuel.