Nuke
Avoimen lähdekoodin Swift-kirjasto kuvankäsittelyyn ja -käsittelyyn
Ilmainen Swift-sovellusliittymä, jonka avulla voit muokata kuvaputkia, muuttaa kuvien kokoa, käyttää mukautettua prosessoria, pyöristää kuvien kulmia, ladata kuvia ja käteistä rahaa ja niin edelleen.
Nuke on erittäin hyödyllinen avoimen lähdekoodin Swift-kehys, jonka avulla ohjelmistokehittäjät voivat helposti ladata ja näyttää kuvia omissa Swift-sovelluksissaan. Se vaatii vain yhden koodirivin kuvien lataamiseen ja näyttämiseen sovelluksissasi. Kirjastossa on myös tuki useille edistyneille ominaisuuksille, kuten kuvan esilämmitys ja progressiivinen dekoodaus, jotka voivat parantaa dramaattisesti sovelluksen suorituskykyä ja käyttökokemusta.
Nuke API on erittäin helppokäyttöinen ja siinä on erittäin edistyksellinen arkkitehtuuri, jonka avulla ohjelmistokehittäjät voivat ajatella käytännössä rajattomasti mahdollisuuksia kuvankäsittelyyn ja mukauttamiseen. Siinä on sisäänrakennettu tuki peruskuvamuodoille, kuten JPEG, PNG, HEIF ja monet muut. Se tukee myös kuvien koodausta ja dekoodausta Swift-koodilla.
Kirjasto on erittäin monipuolinen ja sisältää useita tärkeitä ominaisuuksia kuvien käsittelyyn Swift-komennoilla, kuten lataa kuvat, mukauttaminen kuvaputkeen, kuvien koon muuttaminen, suodattimien, kuten Gaussin sumennuksen, käyttäminen, mukautetun prosessorin käyttäminen, pyöreät kuvan kulmat, LRU-muisti. Välimuisti, HTTP-levyvälimuisti, aggressiivinen LRU-levyvälimuisti, kuvien uudelleenlataus, kuvaanimaatio, älykäs taustan purku, latausten jatkaminen, priorisointipyyntö, vähän dataa -tila ja paljon muuta.
Nuken käytön aloittaminen
Suositeltu tapa asentaa Nuke on CocoaPods. Lisää seuraavat rivit Pod-tiedostoosi
Asenna Nuke CocoaPodsin kautta.
pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional
Kloonaa uusimmat lähteet seuraavalla komennolla.
Asenna Nuke GitHubin kautta.
$ git https://github.com/kean/Nuke.git
Lataa ja käytä kuvia Swiftillä
Avoimen lähdekoodin Nuke API tarjoaa hyvin organisoidun ja tehokkaan tavan ladata ja käyttää kuvia Swift-sovelluksissasi. Kuvien hakemiseksi sinun on välitettävä vaaditun kuvan URL-osoite ja kutsuttava sitten jatkamismenetelmä. Se lataa pyydetyn kuvan taustalla ja ilmoittaa vastauksen sulkemisesta, kun se on valmis.
Katsele kuvia eri tavoilla Swift-sovelluksissa
// 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"))
}
}
Esihae kuva Swift API:lla
Esihaku on erittäin hyödyllinen ominaisuus, jonka avulla käyttäjät voivat ladata kuvan tai muita tietoja etukäteen ennen sen käyttöä. Sovellukset voivat ladata sen ja tallentaa sen sovelluksen verkkovälimuistiin. Myöhemmin, kun sinun on katsottava kuvaa, vastaus pyyntöösi tulee takaisin välimuistista verkon sijaan. Avoimen lähdekoodin API Nuke sisältää tuen jännittävälle ominaisuudelle, joka tunnetaan nimellä Kuvien esihaku Swift-koodilla. Muista, että esihaku voi viedä käyttäjien tietoja ja aiheuttaa ylimääräistä painetta suorittimelle ja muistille. Voit vähentää tätä painetta valitsemalla vain levyvälimuistin esihaun kohteeksi.
Esihae ja välimuisti GitHub Swift API:lla
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)
}
}
Lataa ja nosta kuvia Swiftin kautta
Kuvien välimuisti on erittäin hyödyllinen menetelmä, joka parantaa sovelluksen suorituskykyä ja loppukäyttäjän kokemusta. Avoimen lähdekoodin Nuke API mahdollistaa ohjelmistosovellusten tallentamisen automaattisesti välimuistiin ladatut kuvat. Nuke luottaa kahteen sisäänrakennettuun välimuistikerrokseen. Ensimmäistä käytetään prosessoidun kuvan tallentamiseen, joka on valmis näytettäväksi. Se käyttää LRU-algoritmia – vähiten käytetyt merkinnät poistetaan ensin pyyhkäisyn aikana. Toinennd käyttää HTTP-levyvälimuistia käsittelemättömien kuvatietojen tallentamiseen. On myös mahdollista tarkistaa pyydetyn kuvan olemassaolo välimuistissa.
Lue/kirjoita kuvia muistiin tai levyvälimuistiin Swift API:n kautta
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()