Vídeo: Como habilitar o "dark mode" no iPhone com iOS 11 2025
Frameworks para aplicativos iOS geralmente implementam uma técnica conhecida como inversão de controle. Como você já conhece , uma estrutura de software é um conjunto de componentes que contêm código comum que fornece funcionalidade genérica. Essa funcionalidade genérica pode ser substituída seletivamente ou especializada pelo código do usuário. Desta forma, o framework pode ser personalizado para fornecer funcionalidades específicas e fluxo de controle também conhecido como inversão de controle.
Inversão de controle significa que o fluxo de controle do programa - como o programa funciona - não é ditado pelo usuário da estrutura, mas pela própria estrutura, como comportamento padrão. Esse comportamento padrão é estendido ou modificado por código que o usuário fornece na forma de classes que estendem as classes base da estrutura (que geralmente são classes abstratas).
Essas classes fornecidas pelo usuário substituem determinados métodos ou fornecem implementações de métodos virtuais. As classes do usuário também podem implementar interfaces específicas que são passadas e invocadas pela estrutura. Inversão de controle distingue frameworks de bibliotecas de software que fornecem recursos computacionais que sua aplicação pode invocar, como as rotinas de manipulação de cordas fornecidas pelo java. Pacote lang.
iOS é, de fato, uma estrutura e fornece um conjunto de classes básicas que você estende com suas próprias classes e código e uma seqüência geral de computação na qual você conecta essas classes e seu código. Separando o modelo, as visualizações e os resultados do controlador em componentes com maior coesão, com cada componente responsável por um conjunto relacionado de responsabilidades.
Além disso, para que a inversão do controle funcione bem, muitos tipos diferentes de componentes reutilizáveis devem ser capazes de se conectar à sequência geral de computação. Quanto mais esses componentes diferentes precisam saber sobre a estrutura, e vice-versa, mais difícil se torna ligar um conjunto variado de componentes. Consequentemente, o acoplamento solto também é essencial nas estruturas.
