1. Produkte
  2.   Bild
  3.   Swift
  4.   Nuke

Nuke

 
 

Open-Source-Swift-Bibliothek für Bildbearbeitung und -verarbeitung

Kostenlose Swift-API, die es ermöglicht, die Bildpipeline anzupassen, die Größe von Bildern zu ändern, einen benutzerdefinierten Prozessor zu verwenden, Bildecken abzurunden, Bilder herunterzuladen und einzulösen und so weiter.

Nuke ist ein sehr nützliches Open Source Swift-Framework, das es Software-Entwicklern ermöglicht, Bilder in ihre eigenen Swift-Anwendungen zu laden und anzuzeigen. Es benötigt nur eine Zeile Code, um Bilder in Ihren Anwendungen herunterzuladen und anzuzeigen. Die Bibliothek hat auch Unterstützung für verschiedene erweiterte Funktionen wie Bildpräsentation und progressive Dekodierung enthalten, die die Leistungsfähigkeit der Anwendung sowie die Benutzererfahrung erheblich verbessern können.

Die Nuke-API ist sehr einfach zu bedienen und verfügt über eine sehr fortschrittliche Architektur, die es Softwareentwicklern ermöglicht, an praktisch unbegrenzte Möglichkeiten für die Bildverarbeitung und -anpassung zu denken. Es enthält integrierte Unterstützung für grundlegende Bildformate wie JPEG, PNG, HEIF und viele mehr. Es unterstützt auch die Bildkodierung und -dekodierung mit Swift-Code.

Die Bibliothek ist sehr umfangreich und hat einige wichtige Funktionen zum Umgang mit ihren Bildern mit Swift Befehlen, wie zum Beispiel laden von Images, anpassen von Image-Pipelines, Residing Images, Filter wie russisches.

Previous Next

Erste Schritte mit Nuke 

Die empfohlene Methode zur Installation von Nuke ist die Verwendung von CocoaPods. Bitte fügen Sie Ihrem Podfile die folgenden Zeilen hinzu

Installieren Sie Nuke über CocoaPods.

pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional

Klonen Sie die neuesten Quellen mit dem folgenden Befehl.

Installieren Sie Nuke über GitHub.

$ git https://github.com/kean/Nuke.git 

Herunterladen und Verwenden von Bildern mit Swift

Die Open-Source-Nuke-API bietet eine gut organisierte und effektive Möglichkeit zum Herunterladen und Verwenden von Bildern in Ihren Swift-Apps. Um die Bilder abzurufen, müssen Sie die URL des erforderlichen Bildes übergeben und dann die Resume-Methode aufrufen. Es lädt das angeforderte Bild im Hintergrund herunter und informiert den Antwortabschluss, wenn es fertig ist.

View Bilder in verschiedenen Wegen in Swift Apps

// Load images directly using Async/Await
func loadImage() async throws {
    let response = try await pipeline.image(for: url, delegate: self)
}
// Use UI components provided by NukeUI mode
struct ContainerView: View {
    var body: some View {
        LazyImage(url: URL(string: "https://example.com/image.jpeg"))
    }
} 

Präfektes Bild mit Swift API

Die Vorabversion ist eine sehr nützliche Funktion, die es Benutzern ermöglicht, das Bild oder andere Daten im Voraus herunterzuladen. Die Anwendungen können es herunterladen und im Netzwerk-Cache der Anwendung speichern. Wenn Sie später das Bild betrachten müssen, wird die Antwort auf Ihre Anfrage aus dem Cache anstelle des Netzwerks zurückgegeben. Die Open-Source API Nuke hat Unterstützung für eine aufregende Funktion, die als Prefetching Images mit Swift Code bekannt ist. Bitte denken Sie daran, dass Prefetching die Benutzerdaten aufnehmen und zusätzlichen Druck auf die CPU und den Speicher ausüben kann. Um diesen Druck zu verringern, können Sie nur den Festplatten-Cache als Ziel auswählen.

Prefect & Cache GitHub mit Swift API

inal class PrefetchingDemoViewController: UICollectionViewController {
    private let prefetcher = ImagePrefetcher()
    private var photos: [URL] = []
    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView?.isPrefetchingEnabled = true
        collectionView?.prefetchDataSource = self
    }
}
extension PrefetchingDemoViewController: UICollectionViewDataSourcePrefetching {
    func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.startPrefetching(with: urls)
    }
    func collectionView(_ collectionView: UICollectionView, cancelPrefetchingForItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.stopPrefetching(with: urls)
    }
} 

Bilder über Swift laden und einlösen

Das Zwischenspeichern von Bildern ist eine sehr nützliche Methode, die die Anwendungsleistung und das Endbenutzererlebnis verbessert. Die Open-Source-Nuke-API ermöglicht es Software-Apps, die heruntergeladenen Bilder automatisch zwischenzuspeichern. Nuke setzt auf zwei eingebaute Caching-Layer. Der erste wird verwendet, um verarbeitete Bilder zu speichern, die zur Anzeige bereit sind. Es verwendet den LRU-Algorithmus – die am längsten nicht verwendeten Einträge werden während des Sweeps zuerst entfernt. Der zweitend verwendet HTTP Disk Cache, um die unverarbeiteten Bilddaten zu speichern. Es ist auch möglich, die Existenz des angeforderten Bildes im Cache zu überprüfen.

Read/Write Bilder in Memory oder Disk Cache via Swift API

let cache = pipeline.cache
let request = ImageRequest(url: URL(string: "https://example.com/image.jpeg")!)
cache.cachedImage(for: request) // From any cache layer
cache.cachedImage(for: request, caches: [.memory]) // Only memory
cache.cachedImage(for: request, caches: [.disk]) // Only disk (decodes data)
let data = cache.cachedData(for: request)
cache.containsData(for: request) // Fast contains check 
// Stores image in the memory cache and stores an encoded
// image in the disk cache
cache.storeCachedImage(ImageContainer(image: image), for: request)
cache.removeCachedImage(for: request)
cache.removeAll() 
 Deutsch