Kingfisher für Swift: Vollständiger Leitfaden mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in Kingfisher: Was es ist und warum man es braucht

\n\n

Kingfisher ist eine leistungsstarke und beliebte Bibliothek für Swift, die zum Laden und Zwischenspeichern von Bildern aus dem Netzwerk entwickelt wurde. Sie bietet Entwicklern eine einfache, aber flexible API für die Arbeit mit Bildern in iOS-, macOS-, tvOS- und watchOS-Apps. Die Bibliothek ist in reinem Swift geschrieben und wird von der Community aktiv unterstützt.

\n\n

Wofür wird Kingfisher benötigt? In modernen mobilen Apps ist die Arbeit mit Bildern eine der wichtigsten Aufgaben. Benutzer erwarten schnelles Laden von Inhalten, flüssiges Scrollen und minimalen Datenverbrauch. Kingfisher löst diese Probleme, indem es das Laden, Zwischenspeichern (im Arbeitsspeicher und auf der Festplatte) und die Anzeige von Bildern automatisch verwaltet. Anstatt komplexen Code für die Verwaltung von Netzwerkanfragen, Fehlerbehandlung und Caching zu schreiben, können Sie einfach eine Methode setImage(with:) aufrufen.

\n\n

Wichtige Funktionen:

\n
    \n
  • Asynchrones Laden: Bilder werden im Hintergrundthread geladen, ohne die Benutzeroberfläche zu blockieren.
  • \n
  • Mehrstufiges Caching: Zuerst wird der Cache im Arbeitsspeicher (schneller Zugriff) überprüft, dann der Festplatten-Cache (dauerhafte Speicherung).
  • \n
  • Fehlerbehandlung: Integrierte Mechanismen zur Behandlung von Netzwerkfehlern, ungültigen URLs und beschädigten Daten.
  • \n
  • Unterstützung für GIF und SVG: Möglichkeit zur Anzeige von animierten Bildern und Vektorgrafiken.
  • \n
  • Bildtransformationen: Integrierte Methoden zum Ändern der Größe, Zuschneiden, Anwenden von Filtern und Abrunden von Ecken.
  • \n
  • Integration mit UIKit und AppKit: Erweiterungen für UIImageView, NSImageView, UIButton und andere Elemente.
  • \n
  • Laden abbrechen: Automatischer Abbruch von Anfragen bei der Wiederverwendung von Zellen in UITableView/UICollectionView.
  • \n
\n\n

Kingfisher ist nicht nur ein Bildlader, sondern ein vollwertiges Framework zur Verwaltung von Medieninhalten, das Entwicklungsstunden spart und die App-Leistung verbessert.

\n\n

Installation von Kingfisher

\n\n

Kingfisher kann auf verschiedene Weise installiert werden. Die empfohlene Methode ist der Swift Package Manager (SPM), da dies das native Tool zur Verwaltung von Abhängigkeiten in Swift ist.

\n\n

1. Swift Package Manager (SPM) – Empfohlene Methode

\n

Öffnen Sie Ihr Projekt in Xcode, gehen Sie zu File → Add Packages... und fügen Sie die Repository-URL ein:

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

Wählen Sie die Version (empfohlen wird "Up to Next Major Version" mit der neuesten stabilen Version) und fügen Sie das Paket zu Ihrem Target hinzu.

\n\n

2. CocoaPods

\n

Fügen Sie zu Ihrer Podfile hinzu:

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

Führen Sie dann im Terminal aus:

\n
pod install
\n\n

3. Carthage

\n

Fügen Sie zu Ihrer Cartfile hinzu:

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

Führen Sie dann aus:

\n
carthage update
\n\n

4. Manuelle Installation

\n

Laden Sie die neueste Version von GitHub herunter und fügen Sie die Dateien aus dem Ordner Sources/Kingfisher zu Ihrem Projekt hinzu.

\n\n

Vergessen Sie nach der Installation nicht, die Bibliothek in den Dateien zu importieren, in denen Sie sie verwenden möchten:

\n
import Kingfisher
\n\n

Schnellstart: Erstes Beispiel

\n\n

Beginnen wir mit dem einfachsten Beispiel – dem Laden eines Bildes von einer URL und der Anzeige in einem UIImageView. Dies ist die grundlegende Operation, mit der die Arbeit mit Kingfisher beginnt.

\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

In diesem Beispiel rufen wir die Methode setIm

Empfehlungen