Nuke
Nuke 12.8
自 2015 年起提供影像
使用簡單且靈活的 API 載入來自不同來源的圖像並在您的應用程式中顯示它們。利用強大的影像處理功能和強大的快取系統。
框架很精簡,編譯時間不到 2 秒。它擁有兩倍於程式碼庫大小的自動化測試套件,確保卓越的可靠性。 Nuke 針對效能進行了最佳化,其先進的架構幾乎實現了無限的客製化可能性。
記憶體和磁碟快取·映像處理和解壓縮·請求合併和優先權·預取·可恢復下載·漸進式 JPEG · HEIF、WebP、SVG、GIF · SwiftUI ·非同步/等待
失誤:朋友而不是追隨者。
Nuke 也受到以下支持:
代理人 | 退格旅行 |
Nuke 支援 Swift Package Manager,這是建議的選項。如果這對您不起作用,您可以使用版本附帶的二進位框架。
軟體包附帶四個模組,您可以根據需要安裝:
模組 | 描述 |
---|---|
核彈 | 包含ImagePipeline 、 ImageRequest 等的精實核心框架 |
核彈用戶介面 | UI 元件: LazyImage (SwiftUI) 和ImageView (UIKit、AppKit) |
Nuke擴充 | UIImageView 的擴充(UIKit、AppKit) |
核子影片 | 短視頻解碼播放組件 |
Nuke 憑藉其豐富的文件和現代化的 API,易於學習和使用。
您可以使用精益核心Nuke模組中的ImagePipeline
載入映像:
func loadImage() async throws { let imageTask = ImagePipeline.shared.imageTask(with: url) for 在 imageTask.progress 中等待進度 { // 更新進度 } imageView.image = 試著等待 imageTask.image}
或者您可以使用NukeUI模組中的內建 UI 元件:
struct ContentView: View { var body: some View { LazyImage(url: URL(string: "https://example.com/image.jpeg")) }}
入門指南是開始了解框架提供的這些 API 和許多其他 API 的最佳位置。查看Nuke 演示以取得更多使用範例。
圖像管道易於自訂和擴展。查看以下由社區構建的一流擴展和包。
姓名 | 描述 |
---|---|
阿拉莫火插件 | 用 Alamofire 取代網路層 |
NukeWebP | 社區。 WebP 支持,由 Maxim Kolesnik 構建 |
WebP 插件 | 社區。 WebP 支持,由 Ryo Kosuge 構建 |
AVIF 插件 | 社區。 AVIF 支持,由 Denis 構建 |
接收核彈 | Nuke 的 RxSwift 擴充功能及範例 |
正在尋找一種記錄網路請求(包括圖像請求)的方法?查看脈衝。
從先前的版本升級?使用遷移指南。
核彈 | 日期 | 迅速 | Xcode | 平台 |
---|---|---|---|---|
核彈12.0 | 2023 年 3 月 4 日 | 斯威夫特 5.7 | Xcode 15.0 | iOS 13.0、watchOS 6.0、macOS 10.15、tvOS 13.0 |
核彈11.0 | 2022 年 7 月 20 日 | 雨燕5.6 | Xcode 13.3 | iOS 13.0、watchOS 6.0、macOS 10.15、tvOS 13.0 |
核彈10.0 | 2021 年 6 月 1 日 | 斯威夫特 5.3 | Xcode 12.0 | iOS 11.0、watchOS 4.0、macOS 10.13、tvOS 11.0 |
從版本 12.3 開始,Nuke 還附帶了 VisionOS 支援(測試版)
Nuke 可在 MIT 許可下使用。有關詳細信息,請參閱許可證文件。
1 在 MacBook Pro 14" 2021(10 核心 M1 Pro)上測量