# SwiftUI Advanced (iOS) > Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder - 22 domande da colloquio - Senior - [Domande da colloquio: iOS](https://sharpskill.dev/it/technologies/ios/domande-colloquio.md) ## 1. Cos'è il protocollo Layout in SwiftUI? **Risposta** Il protocollo Layout consente di creare contenitori di viste personalizzati definendo come le sottoviste vengono posizionate e dimensionate. Sostituisce gli approcci manuali con GeometryReader per layout complessi, offrendo un'API dichiarativa e componibile per costruire disposizioni di viste sofisticate. ## 2. Come implementare un layout personalizzato conformandosi al protocollo Layout? **Risposta** Implementare Layout richiede di definire due metodi principali: sizeThatFits, che restituisce la dimensione totale del contenitore, e placeSubviews, che posiziona ogni subview usando proposte di posizionamento. Questi metodi lavorano insieme per creare un sistema di layout coerente e prevedibile. ## 3. Qual è il vantaggio principale dell'uso del protocollo Layout rispetto a GeometryReader? **Risposta** Il protocollo Layout offre un approccio componibile e riutilizzabile per i layout, mentre GeometryReader richiede spesso codice imperativo in ogni view. Layout separa la logica di posizionamento dalla logica di rendering, migliorando la testabilità e la manutenibilità dei componenti. ## Altre 19 domande disponibili - Come passare parametri di configurazione a un layout personalizzato? - Quando usare GeometryReader invece del protocollo Layout? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio iOS - [Fondamenti di Swift](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-basics.md): 25 domande, Junior - [Fondamenti del linguaggio Swift](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-language-essentials.md): 15 domande, Junior - [Fondamenti di UIKit](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uikit-fundamentals.md): 18 domande, Junior - [Ciclo di vita di UIViewController](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uiviewcontroller-lifecycle.md): 20 domande, Junior - [UserDefaults & Keychain](https://sharpskill.dev/it/technologies/ios/domande-colloquio/userdefaults-keychain.md): 20 domande, Junior - [Ciclo di vita dell'applicazione](https://sharpskill.dev/it/technologies/ios/domande-colloquio/app-lifecycle.md): 20 domande, Junior - [Auto Layout & Constraints](https://sharpskill.dev/it/technologies/ios/domande-colloquio/auto-layout-constraints.md): 24 domande, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uitableview-uicollectionview.md): 25 domande, Mid-Level - [Fondamenti di SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-basics.md): 18 domande, Mid-Level - [Gestione dello stato in SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-state-management.md): 22 domande, Mid-Level - [Navigazione SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-navigation.md): 18 domande, Mid-Level - [Networking & URLSession](https://sharpskill.dev/it/technologies/ios/domande-colloquio/networking-urlsession.md): 20 domande, Mid-Level - [Codable e parsing JSON](https://sharpskill.dev/it/technologies/ios/domande-colloquio/codable-json-parsing.md): 20 domande, Mid-Level - [Core Data](https://sharpskill.dev/it/technologies/ios/domande-colloquio/core-data.md): 22 domande, Mid-Level - [Programmazione orientata ai protocolli](https://sharpskill.dev/it/technologies/ios/domande-colloquio/protocol-oriented-programming.md): 20 domande, Mid-Level - [Architettura MVVM](https://sharpskill.dev/it/technologies/ios/domande-colloquio/mvvm-architecture.md): 20 domande, Mid-Level - [Notifiche Push](https://sharpskill.dev/it/technologies/ios/domande-colloquio/push-notifications.md): 18 domande, Mid-Level - [Test unitari & XCTest](https://sharpskill.dev/it/technologies/ios/domande-colloquio/unit-testing-xctest.md): 20 domande, Mid-Level - [Test dell'interfaccia utente](https://sharpskill.dev/it/technologies/ios/domande-colloquio/ui-testing.md): 18 domande, Mid-Level - [Xcode e sistema di build](https://sharpskill.dev/it/technologies/ios/domande-colloquio/xcode-build-system.md): 16 domande, Mid-Level - [Swift Package Manager](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-package-manager.md): 16 domande, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/it/technologies/ios/domande-colloquio/memory-management-arc.md): 22 domande, Senior - [Combine Framework](https://sharpskill.dev/it/technologies/ios/domande-colloquio/combine-framework.md): 24 domande, Senior - [Concurrency & async/await](https://sharpskill.dev/it/technologies/ios/domande-colloquio/concurrency-async-await.md): 26 domande, Senior - [iOS Design Patterns](https://sharpskill.dev/it/technologies/ios/domande-colloquio/ios-design-patterns.md): 24 domande, Senior - [Ottimizzazione delle prestazioni](https://sharpskill.dev/it/technologies/ios/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Sicurezza e crittografia](https://sharpskill.dev/it/technologies/ios/domande-colloquio/security-encryption.md): 20 domande, Senior - [Architettura delle applicazioni iOS](https://sharpskill.dev/it/technologies/ios/domande-colloquio/ios-app-architecture.md): 22 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-advanced