Pular para o conteúdo principal

Questão de Programação — Desenvolvimento Mobile — Quadrix 2025

ProgramaçãoDesenvolvimento Mobile
Código
qg600001
Banca
Quadrix
Órgão
CRO-SP
Ano
2025
Nível
Superior
Cargo
Analista de Desenvolvimento de Sistemas de Informação
Acerca do desenvolvimento nativo para iOS, do desenvolvimento multiplataforma e da persistência de dados em dispositivos móveis, julgue o item seguinte.Em desenvolvimento nativo para iOS, o UserDefaults é uma opção adequada para armazenar os dados estruturados complexos e de grande volume, como catálogos offline e arquivos de mídia.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

UserDefaults no desenvolvimento iOS

Gabarito: E — ERRADO. O UserDefaults é uma solução de persistência leve, destinada a armazenar pequenas quantidades de dados simples (preferências, configurações, flags), e não é adequado para dados estruturados complexos ou de grande volume, como catálogos offline e arquivos de mídia. Para esses casos, o iOS oferece alternativas como Core Data, SQLite e o sistema de arquivos.

O UserDefaults funciona como um dicionário persistente: você salva valores associados a chaves, e eles ficam disponíveis nas próximas execuções do aplicativo. É a ferramenta certa para guardar, por exemplo, o nome do usuário, o idioma escolhido, o estado de um toggle ou o último login. A Apple o descreve como um mecanismo para "preferências do usuário" — justamente por isso, ele é otimizado para leituras e escritas rápidas de pequenos volumes, e não para armazenar grandes estruturas.

A pegadinha da questão está em associar o UserDefaults a dados complexos e volumosos. Na prática, tentar guardar um catálogo inteiro de produtos (com imagens, descrições, preços) ou arquivos de mídia (fotos, vídeos, áudios) no UserDefaults seria um erro grave de arquitetura: o aplicativo ficaria lento, consumiria memória desnecessariamente e poderia até ser encerrado pelo sistema por uso excessivo de recursos. O UserDefaults não foi projetado para isso — ele é uma solução de "preferências", não um banco de dados.

Para dados estruturados complexos e de grande volume, o iOS oferece opções mais adequadas:

  • Core Data: framework de persistência orientado a objetos, ideal para modelar entidades e relacionamentos (como um catálogo de produtos com categorias e preços).

  • SQLite: banco de dados relacional embutido, leve e eficiente para consultas complexas.

  • Arquivos no diretório Documents: para arquivos de mídia (imagens, vídeos, áudios), o recomendado é salvá-los no sistema de arquivos, não em um dicionário de preferências.

A distinção essencial é: UserDefaults para dados simples e pequenos (preferências, configurações); Core Data/SQLite para dados estruturados e relacionais; sistema de arquivos para arquivos binários e mídia. Essa fronteira é exatamente o que a banca explora nesta questão.

1UserDefaults
Dados simples e pequenos
Preferências e configurações
Não serve para grande volume
2Core Data
Dados estruturados e relacionais
Entidades e relacionamentos
3SQLite
Banco relacional embutido
Consultas complexas
4Sistema de arquivos
Mídia (imagens, vídeos, áudios)
Diretório Documents
Persistência no iOS
LEVELsoulevel.com.br
Persistência no iOS: UserDefaults (Dados simples e pequenos, Preferências e configurações, Não serve para grande volume); Core Data (Dados estruturados e relacionais, Entidades e relacionamentos); SQLite (Banco relacional embutido, Consultas complexas); Sistema de arquivos (Mídia (imagens, vídeos, áudios), Diretório Documents)

Item — ❌ ERRADO

A afirmação está incorreta porque atribui ao UserDefaults uma finalidade que não lhe pertence. Ele é adequado para armazenar dados simples e de pequeno volume, como preferências do usuário (idioma, tema, configurações), e não para dados estruturados complexos ou de grande volume, como catálogos offline e arquivos de mídia. Para esses casos, as ferramentas corretas são Core Data, SQLite e o sistema de arquivos, respectivamente.

PEGA ESSA DICA!

Na prova, lembre-se da regra de ouro: UserDefaults = preferências leves; Core Data/SQLite = dados estruturados; sistema de arquivos = mídia. Se a alternativa mencionar "grande volume" ou "dados complexos" junto com UserDefaults, marque errado sem hesitar.

Gabarito: E — ERRADO.

Link permanente: /questoes/qg600001