Nuke
Swift-bibliotek med öppen källkod för bildredigering och -bearbetning
Kostnadsfritt Swift API som gör det möjligt att anpassa bildpipeline, ändra storlek på bilder, använda en anpassad processor, runda bildhörn, ladda ner och kassera bilder och så vidare.
Nuke är ett mycket användbart Swift-ramverk med öppen källkod som gör det möjligt för mjukvaruutvecklare att enkelt ladda och visa bilder i sina egna Swift-applikationer. Det krävs bara en rad kod för att ladda ner och visa bilder i dina appar. Biblioteket har också inkluderat stöd för flera avancerade funktioner som bildförvärmning och progressiv avkodning som dramatiskt kan förbättra appens prestanda och användarupplevelsen.
Nuke API är väldigt lätt att använda och har en mycket avancerad arkitektur som gör att mjukvaruutvecklare kan tänka på praktiskt taget obegränsade möjligheter för bildbehandling och anpassning. Den har inkluderat inbyggt stöd för grundläggande bildformat som JPEG, PNG, HEIF och många fler. Den stöder också bildkodning och avkodning med Swift-kod.
Biblioteket är mycket funktionsrikt och har inkluderat flera viktiga funktioner för att hantera sina bilder med Swift-kommandon, såsom ladda bilder, anpassa bildpipeline, ändra storlek på bilder, tillämpa filter som Gaussisk oskärpa, använda en anpassad processor, runda bildhörn, LRU-minne Cache, HTTP-diskcache, aggressiv LRU-diskcache, återladdning av bilder, bildanimering, smart bakgrundsdekomprimering, återupptagande av nedladdningar, Begär prioritering, lågdataläge och många fler.
Komma igång med Nuke
Det rekommenderade sättet att installera Nuke är att använda CocoaPods. Vänligen lägg till följande rader i din Podfil
Installera Nuke via CocoaPods.
pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional
Klona de senaste källorna med följande kommando.
Installera Nuke via GitHub.
$ git https://github.com/kean/Nuke.git
Ladda ner och använd bilder med Swift
Nuke API med öppen källkod ger ett välorganiserat och effektivt sätt att ladda ner och använda bilder i dina Swift-appar. För att hämta bilderna måste du skicka in webbadressen till den önskade bilden och sedan anropa CV-metoden. Den kommer att ladda ner den begärda bilden i bakgrunden och informera svarsstängningen när den är klar.
Visa bilder på olika sätt inom 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"))
}
}
Prefekt bild med Swift API
Prefetching är en mycket användbar funktion som gör det möjligt för användare att ladda ner bilden eller annan data i förväg i väntan på dess användning. Apparna kan ladda ner den och lagra den i programmets nätverkscache. Senare när du behöver visa bilden kommer svaret på din begäran tillbaka från cache istället för nätverket. Den öppna källan API Nuke har inkluderat stöd för en spännande funktion som kallas Prefetching bilder med Swift kod. Kom ihåg att Prefetching kan ta upp användarnas data och sätta extra tryck på CPU samt minne. För att minska detta tryck kan du bara välja disk cache som prefetching destination.
Prefekt & Cache GitHub med 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)
}
}
Ladda och kontanter bilder via Swift
Bildcachelagring är en mycket användbar metod som förbättrar applikationsprestanda och slutanvändarupplevelse. Nuke API med öppen källkod gör att programvaruappar automatiskt cachelagrar de nedladdade bilderna. Nuke förlitar sig på två inbyggda cachinglager. Den första används för att lagra bearbetad bild, som är redo för visning. Den använder LRU-algoritmen – de minst senast använda posterna tas bort först under svepet. Den 2nd använder HTTP Disk Cache för att lagra obehandlad bilddata. Det är också möjligt att kontrollera förekomsten av den efterfrågade bilden i cachen.
Read/Write Bilder i Memory eller 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()