![](https://products-qa.fileformat.com/da/image/swift/nuke/header-image.png)
Nuke
Open Source Swift-bibliotek til billedredigering og -behandling
Gratis Swift API, der giver at tilpasse billedpipeline, ændre størrelse på billeder, bruge en tilpasset processor, runde billedhjørner, downloade og kontante billeder og så videre.
Nuke er en meget nyttig open source Swift-ramme, der gør det muligt for softwareudviklere nemt at indlæse og vise billeder i deres egne Swift-applikationer. Det kræver kun én linje kode at downloade og vise billeder i dine apps. Biblioteket har også inkluderet understøttelse af adskillige avancerede funktioner såsom billedforvarmning og progressiv afkodning, der dramatisk kan forbedre appens ydeevne samt brugeroplevelsen.
Nuke API er meget let at bruge og har en meget avanceret arkitektur, der gør det muligt for softwareudviklere at tænke på praktisk talt ubegrænsede muligheder for billedbehandling og tilpasning. Det har inkluderet indbygget understøttelse af grundlæggende billedformater som JPEG, PNG, HEIF og mange flere. Det understøtter også billedkodning og afkodning ved hjælp af Swift-kode.
Biblioteket er meget funktionsrigt og har inkluderet flere vigtige funktioner til håndtering af deres billeder ved hjælp af Swift-kommandoer, såsom indlæsning af billeder, tilpasning af billedpipeline, ændring af størrelse på billeder, anvendelse af filtre som Gaussisk sløring, brug af en brugerdefineret processor, runde billedhjørner, LRU-hukommelse Cache, HTTP Disk Cache, Aggressiv LRU Disk Cache, Genindlæsning af billeder, billedanimation, Smart baggrundsdekomprimering, downloads Genoptagelse, Anmod om prioritering, Lav datatilstand og mange flere.
Kom godt i gang med Nuke
Den anbefalede måde at installere Nuke på er at bruge CocoaPods. Tilføj venligst følgende linjer til din Podfile
Installer Nuke via CocoaPods.
pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional
Klon de seneste kilder ved hjælp af følgende kommando.
Installer Nuke via GitHub.
$ git https://github.com/kean/Nuke.git
Download og brug billeder ved hjælp af Swift
Open source Nuke API giver en velorganiseret og effektiv måde at downloade og bruge billeder inde i dine Swift-apps. For at hente billederne skal du videregive URL'en til det påkrævede billede og derefter kalde CV-metoden. Det vil downloade det anmodede billede i baggrunden og informere svaret, når det er færdigt.
Se billeder på forskellige måder inde i 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"))
}
}
Forhåndshent billede ved hjælp af Swift API
Prefetching er en meget nyttig funktion, der gør det muligt for brugere at downloade billedet eller andre data før tid i forventning om dets brug. Apps kan downloade det og gemme det i applikationens netværkscache. Senere, når du har brug for at se billedet, vil svaret på din anmodning komme tilbage fra cachen i stedet for netværket. Open source API Nuke har inkluderet understøttelse af en spændende funktion kendt som Prefetching images ved hjælp af Swift-kode. Husk at Prefetching kan optage brugernes data og lægge ekstra pres på CPU'en samt hukommelsen. For at reducere dette tryk kan du kun vælge diskcachen som forhåndshentningsdestination.
Forudhent og cache GitHub ved hjælp af 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)
}
}
Indlæs og kontanter billeder via Swift
Billedcache er en meget nyttig metode, der forbedrer applikationens ydeevne og slutbrugeroplevelsen. Open source Nuke API gør det muligt for software-apps automatisk at cache de downloadede billeder. Nuke er afhængig af to indbyggede cachelag. Den første bruges til at gemme behandlet billede, som er klar til visning. Den bruger LRU-algoritmen - de mindst nyligt brugte poster fjernes først under sweep. Den andennd bruger HTTP Disk Cache til at gemme de ubehandlede billeddata. Det er også muligt at kontrollere eksistensen af det ønskede billede i cachen.
Læs/skriv billeder i hukommelsen eller diskcache 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()