# Quản lý trạng thái SwiftUI (iOS) > @State, @Binding, @ObservedObject, @EnvironmentObject, @StateObject, luồng dữ liệu - 22 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van.md) ## 1. Nên dùng property wrapper nào để quản lý trạng thái cục bộ của một view SwiftUI? **Câu trả lời** @State tạo ra một nguồn chân lý (source of truth) cho dữ liệu có thể thay đổi bên trong một view. SwiftUI tự động quản lý vòng đời và vẽ lại view khi giá trị thay đổi. Đây là cơ chế cơ bản cho việc thay đổi trạng thái cục bộ trong một view đơn lẻ. ## 2. Property wrapper @Binding trong SwiftUI dùng để làm gì? **Câu trả lời** @Binding tạo một tham chiếu hai chiều tới một source of truth đã tồn tại. Nó cho phép một view con thay đổi dữ liệu của view cha mà không sở hữu chính source đó. Điều này thiết yếu cho giao tiếp cha-con trong khi vẫn duy trì một nguồn thẩm quyền duy nhất. ## 3. Vai trò của @Published trong quản lý trạng thái SwiftUI là gì? **Câu trả lời** @Published đánh dấu các thuộc tính của một lớp ObservableObject là có thể quan sát được. Khi một thuộc tính @Published thay đổi, lớp đó thông báo cho tất cả observer, kích hoạt việc vẽ lại view. Nó là cầu nối giữa các lớp và hệ thống phản ứng (reactive) của SwiftUI. ## Còn 19 câu hỏi nữa - Làm thế nào để truy cập thuộc tính @State của view cha từ view con? - Khi nào nên dùng @AppStorage thay vì @State? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn iOS khác - [Kiến thức cơ bản về Swift](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về ngôn ngữ Swift](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-language-essentials.md): 15 câu hỏi, Junior - [Kiến thức cơ bản về UIKit](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uikit-fundamentals.md): 18 câu hỏi, Junior - [Vòng đời UIViewController](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uiviewcontroller-lifecycle.md): 20 câu hỏi, Junior - [UserDefaults & Keychain](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/userdefaults-keychain.md): 20 câu hỏi, Junior - [Vòng đời của ứng dụng](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/app-lifecycle.md): 20 câu hỏi, Junior - [Auto Layout & Constraints](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/auto-layout-constraints.md): 24 câu hỏi, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uitableview-uicollectionview.md): 25 câu hỏi, Mid-Level - [Kiến thức cơ bản về SwiftUI](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-basics.md): 18 câu hỏi, Mid-Level - [Điều hướng SwiftUI](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-navigation.md): 18 câu hỏi, Mid-Level - [Networking & URLSession](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/networking-urlsession.md): 20 câu hỏi, Mid-Level - [Codable & Phân tích JSON](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/codable-json-parsing.md): 20 câu hỏi, Mid-Level - [Core Data](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/core-data.md): 22 câu hỏi, Mid-Level - [Lập trình hướng giao thức](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/protocol-oriented-programming.md): 20 câu hỏi, Mid-Level - [Kiến trúc MVVM](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/mvvm-architecture.md): 20 câu hỏi, Mid-Level - [Thông báo Push](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/push-notifications.md): 18 câu hỏi, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/unit-testing-xctest.md): 20 câu hỏi, Mid-Level - [Kiểm thử giao diện người dùng](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ui-testing.md): 18 câu hỏi, Mid-Level - [Xcode & Hệ thống Build](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/xcode-build-system.md): 16 câu hỏi, Mid-Level - [Swift Package Manager](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-package-manager.md): 16 câu hỏi, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/memory-management-arc.md): 22 câu hỏi, Senior - [Combine Framework](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/combine-framework.md): 24 câu hỏi, Senior - [Concurrency & async/await](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/concurrency-async-await.md): 26 câu hỏi, Senior - [iOS Design Patterns](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ios-design-patterns.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu suất](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật và mã hóa](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/security-encryption.md): 20 câu hỏi, Senior - [SwiftUI Advanced](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-advanced.md): 22 câu hỏi, Senior - [Kiến trúc ứng dụng iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ios-app-architecture.md): 22 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-state-management