iOS
крайна класа ProfileViewModel1 { enum Състояние { ... } var състояние: Състояние = .idle let услуга: UserService init(услуга: UserService) { ... } func onBackPress() { // изглед deinit } func loadUser() { състояние = .loading Task { [weak self] guard let self else { return } do { let потребител = try await self.услуга.fetchUser() self.състояние = .loaded(потребител) } catch { self.състояние = .failed(error.localizedDescription) } } } }
Защо добавянето на mutex само за писане не решава проблема с data race? Как правилно да използваме mutex за защита на обща променлива?
Кратко се представете и опишете текущата си работа.
протокол SomeProtocol {} func test1_1(стойност: SomeProtocol) {} func test1_2(стойност: any SomeProtocol) {}
struct ExampleView: View { var body: some View { VStack { FormView() Button("Reset") { // TODO: } } } } // ТЕСТИРАНЕ САМО ЗА ЧЕТЕНЕ 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) } } }
Защо някои заявки връщат цена, която никога не е била (например, междинна стойност между старата и новата цена)?
Ако проектирате многократен компонент за бутон за система за дизайн в SwiftUI с различни стилове (основен/вторичен), как бихте го реализирали?
Когато дойде в проекта, вече имаше Swift 6 или преходът се случи по време на твоето присъствие?
протокол SomeProtocol {} функция test1_1(стойност: SomeProtocol) {} функция test1_2(стойност: всякакъв SomeProtocol) {} функция test2_1(стойност: some SomeProtocol) {} функция test2_2<Стойност: SomeProtocol>(стойност: Стойност) {} клас A { функция test2_2<Стойност: SomeProtocol>(стойност: Стойност) { } } клас B: SomeProtocol { } A().test2_2(стойност: B())
Трябва да напишете проста библиотека за кеш в паметта. type Cache interface { Set(k, v string) Get(k string) (v string, ok bool) }
Опишете с думи как ще решите проблема с кеширането на цената на колата: структура на данните, синхронизация, актуализация.
Как комуникират View и ViewModel в UIKit — използва ли се нещо като RxSwift/Combine за биндинги?
Разкажи за интересни ресурси за развитие — YouTube канали, Telegram канали, общности, инструменти
протокол SomeProtocol {} func test1_1(стойност: SomeProtocol) {} func test2_1(стойност: some SomeProtocol) {} func test1_2(стойност: any SomeProtocol) {}
```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 } } } ```
Коя версия на езика Swift се използва в проекта — по-горе или по-ниско от 6?
Какво се използва за презентационните модули в UIKit и SwiftUI — каква архитектура?
@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("Неуспешно изтегляне на изображението: \(error)") } } } Button("Изтегляне") { onDownloadPhoto(url) }
func getCarPrice() int64 { time.Sleep(1 * time.Second) return rand.Int63n(1000) } func main() { http.HandleFunc("/car/instant", func(resp http.ResponseWriter, req *http.Request) { fmt.Fprintf(resp, "%d", 0) }) http.ListenAndServe(":8080", nil) }
Има ли проблеми с конкуренцията (Sendable, unchecked Sendable, преход между актьорите) в модулите, с които работихте директно?