![](https://products-qa.fileformat.com/tr/image/swift/nuke/header-image.png)
Nuke
Görüntü Düzenleme ve İşleme için Açık Kaynak Swift Kitaplığı
Görüntü ardışık düzenini özelleştirmeye, görüntüleri yeniden boyutlandırmaya, özel bir işlemci kullanmaya, görüntü köşelerini yuvarlatmaya, indirmeye ve görüntüleri nakde çevirmeye vb. olanak tanıyan ücretsiz Swift API'si.
Nuke, yazılım geliştiricilerinin kendi Swift uygulamaları içinde kolayca yüklenmelerini ve görüntülenmesini sağlayan çok kullanışlı bir açık kaynak Swift çerçevesidir. Uygulamalarınızda indirmek ve görüntülemek için sadece bir kod hattı gerektirir. Kütüphane ayrıca uygulamanın performansını da kullanıcı deneyimi gibi dramatik şekilde artırabilir ve ilerici dekoding gibi birkaç gelişmiş özellik için de destek içeriyordu.
Nuke API'nin kullanımı çok kolaydır ve yazılım geliştiricilerin görüntü işleme ve kişiselleştirme için neredeyse sınırsız olasılıkları düşünmelerini sağlayan çok gelişmiş bir mimariye sahiptir. JPEG, PNG, HEIF ve daha pek çok temel görüntü formatı için yerleşik destek içerir. Ayrıca Swift kodunu kullanarak görüntü kodlamayı ve kod çözmeyi de destekler.
Kütüphane çok özelliktir ve Swift komutlarını kullanarak görüntüleri işlemek için birkaç önemli özellik içeriyordu, örneğin yükleme görüntüleri, özelleştirilmiş görüntü boru hattı, oturma görüntüleri, Rus gibi filtreler, özel bir işlemci, yuvarlak görüntü köşeleri, RU Memory Cache, Disk HTTP Cache, Aggressive RU Disk Cache, Reloading, görüntü animasyon, Smart arka plan decompression, downloads Resuming, İstek önceliklendirme, Low data modu ve daha fazlası.
Nuke'a Başlarken
Nuke'u kurmanın önerilen yolu CocoaPod'ları kullanmaktır. Lütfen aşağıdaki satırları Podfile'nize ekleyin
Nuke'u CocoaPod'lar aracılığıyla yükleyin.
pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional
Aşağıdaki komutu kullanarak en son kaynakları klonlayın.
Nuke'u GitHub aracılığıyla yükleyin.
$ git https://github.com/kean/Nuke.git
Swift kullanarak Görselleri İndirin ve Kullanın
Açık kaynak Nuke API, Swift uygulamalarınızdaki görüntüleri indirmek ve kullanmak için iyi organize edilmiş ve etkili bir yol sağlar. Görüntüleri almak için gerekli görüntünün URL'sini iletmeniz ve ardından özgeçmiş yöntemini çağırmanız gerekir. İstenen görüntüyü arka planda indirecek ve bittiğinde yanıtın kapanmasını bildirecektir.
Swift Apps içinde Farklı Yolları görüntüle
// 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"))
}
}
Prefect Image using Swift API
Prefetching, kullanıcıların kullanım beklentisinde zaman önce görüntüyü veya diğer verileri indirmelerini sağlayan çok kullanışlı bir özelliktir. Uygulamaları indirmek ve bunu uygulamanın ağ önbelleğinde saklayabilirsiniz. Daha sonra, isteğinize cevabı görüntülemek için ihtiyacınız olduğunda, ağ yerine önbellekten geri gelecektir. Açık kaynak API Nuke, Swift kodu kullanarak Prefetching görüntüleri olarak bilinen heyecan verici bir özellik için destek ekledi. Lütfen Prefetching'in kullanıcıların verilerini alabilir ve CPU'ya da hafızaya ekstra baskı koyabilir. Bu baskıyı azaltmak için sadece prefetching varış noktası olarak disk önbellek seçebilirsiniz.
Prefect & Cache GitHub Swift API kullanarak
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)
}
}
Swift ile Görüntüleri Yükleyin ve Nakit Edin
Görüntü önbelleğe alma, uygulama performansını ve son kullanıcı deneyimini iyileştiren çok kullanışlı bir yöntemdir. Açık kaynaklı Nuke API, yazılım uygulamalarının indirilen görüntüleri otomatik olarak önbelleğe almasını sağlar. Nuke, iki yerleşik önbelleğe alma katmanına dayanır. İlki, görüntülenmeye hazır olan işlenmiş görüntüyü depolamak için kullanılır. LRU algoritmasını kullanır - en az kullanılan girişler, tarama sırasında ilk önce kaldırılır. 2.nd, işlenmemiş görüntü verilerini depolamak için HTTP Disk Önbelleğini kullanır. Önbellekte istenen görüntünün varlığını kontrol etmek de mümkündür.
Swift API aracılığıyla bellek veya Disk yönergesinde Read/Write fotoğraf
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()