Kingfisher para Swift: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao Kingfisher: o que é e para que serve

\n\n

Kingfisher é uma biblioteca poderosa e popular para Swift, projetada para carregar e armazenar em cache imagens da rede. Ela fornece aos desenvolvedores uma API simples, mas flexível, para trabalhar com imagens em aplicativos iOS, macOS, tvOS e watchOS. A biblioteca é escrita em Swift puro e é ativamente mantida pela comunidade.

\n\n

Para que serve o Kingfisher? Em aplicativos móveis modernos, trabalhar com imagens é uma das tarefas principais. Os usuários esperam carregamento rápido de conteúdo, rolagem suave e consumo mínimo de dados. O Kingfisher resolve esses problemas gerenciando automaticamente o carregamento, o cache (em memória e em disco) e a exibição de imagens. Em vez de escrever código complexo para gerenciar requisições de rede, tratamento de erros e cache, você pode simplesmente chamar o método setImage(with:).

\n\n

Principais recursos:

\n
    \n
  • Carregamento assíncrono: as imagens são carregadas em segundo plano, sem bloquear a interface do usuário.
  • \n
  • Cache em vários níveis: primeiro verifica o cache em memória (acesso rápido), depois o cache em disco (armazenamento persistente).
  • \n
  • Tratamento de erros: mecanismos integrados para lidar com erros de rede, URLs inválidos e dados corrompidos.
  • \n
  • Suporte a GIF e SVG: capacidade de exibir imagens animadas e gráficos vetoriais.
  • \n
  • Transformações de imagem: métodos integrados para redimensionar, cortar, aplicar filtros e arredondar cantos.
  • \n
  • Integração com UIKit e AppKit: extensões para UIImageView, NSImageView, UIButton e outros elementos.
  • \n
  • Cancelamento de carregamento: cancelamento automático de requisições ao reutilizar células em UITableView/UICollectionView.
  • \n
\n\n

Kingfisher não é apenas um carregador de imagens, é um framework completo para gerenciamento de conteúdo de mídia que economiza horas de desenvolvimento e melhora o desempenho do aplicativo.

\n\n

Instalação do Kingfisher

\n\n

O Kingfisher pode ser instalado de várias maneiras. O método recomendado é através do Swift Package Manager (SPM), pois é uma ferramenta nativa para gerenciamento de dependências em Swift.

\n\n

1. Swift Package Manager (SPM) — Método recomendado

\n

Abra seu projeto no Xcode, vá em File → Add Packages... e cole a URL do repositório:

\n
https://github.com/onevcat/Kingfisher.git
\n

Selecione a versão (recomenda-se "Up to Next Major Version" com a versão estável mais recente) e adicione o pacote ao seu target.

\n\n

2. CocoaPods

\n

Adicione ao seu Podfile:

\n
pod 'Kingfisher', '~> 7.0'
\n

Em seguida, execute no terminal:

\n
pod install
\n\n

3. Carthage

\n

Adicione ao seu Cartfile:

\n
github "onevcat/Kingfisher" ~> 7.0
\n

Em seguida, execute:

\n
carthage update
\n\n

4. Instalação manual

\n

Baixe a versão mais recente do GitHub e adicione os arquivos da pasta Sources/Kingfisher ao seu projeto.

\n\n

Após a instalação, não se esqueça de importar a biblioteca nos arquivos onde você planeja usá-la:

\n
import Kingfisher
\n\n

Início rápido: primeiro exemplo

\n\n

Vamos começar com o exemplo mais simples — carregar uma imagem de uma URL e exibi-la em um UIImageView. Esta é a operação básica com a qual se começa a trabalhar com o Kingfisher.

\n\n
import UIKit\nimport Kingfisher\n\nclass ViewController: UIViewController {\n    @IBOutlet weak var imageView: UIImageView!\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        let url = URL(string: "https://example.com/image.jpg")!\n        imageView.kf.setImage(with: url)\n    }\n}
\n\n

Neste exemplo, chamamos o método setIm

Recommendations