Kingfisher

 
 

Thư viện Swift miễn phí để tải xuống & lưu vào bộ nhớ cache hình ảnh

API Swift mã nguồn mở cho phép các nhà phát triển phần mềm làm việc với các hình ảnh từ xa bên trong ứng dụng web của họ. Nó cho phép tải xuống và lưu trữ hình ảnh vào bộ nhớ cache, áp dụng bộ xử lý và bộ lọc hình ảnh.

Kingfisher là một thực hiện Swift tinh khiết nhẹ cung cấp chức năng hoàn chỉnh để làm việc với nhiều tập tin hình ảnh sử dụng mã Swift. Thư viện giúp các nhà phát triển tạo ra các ứng dụng có thể xử lý hình ảnh từ xa. Thư viện không đồng bộ tải xuống cũng như hình ảnh của họ. Thư viện hỗ trợ một bộ lọc nhiều lớp cho các hình ảnh tải về vô cùng tăng cường hiệu suất của các ứng dụng. Điều đó có nghĩa là hình ảnh sẽ được lưu trữ trong ký ức cũng như trên đĩa nên không cần phải tải lại lần nữa.

Thư viện rất dễ xử lý và cung cấp một cơ sở để quản lý bộ nhớ cache. Người dùng có thể dễ dàng thiết lập kích thước cũng như thời lượng của bộ nhớ đệm. Nó cũng sẽ cung cấp một phương tiện làm sạch bộ nhớ cache tự động giúp người dùng ngăn thư viện sử dụng quá nhiều tài nguyên. Một tính năng tuyệt vời khác được bao gồm để hủy nhiệm vụ. Người dùng có thể dễ dàng hủy bỏ quá trình tải xuống hoặc truy xuất hình ảnh nếu không cần thiết nữa.

Thư viện Kingfisher tạo điều kiện cho các nhà phát triển sử dụng hình ảnh tải và các thành phần đặt biệt theo nhu cầu của họ. Anh thậm chí có thể tạo ra bộ nhớ của riêng mình theo nhu cầu sử dụng mã Swift. Nó cải thiện hiệu suất bộ nhớ đĩa bằng cách tránh các hoạt động đĩa không cần thiết. Thư viện đang mở nguồn và có sẵn dưới giấy phép.

Previous Next

Bắt đầu với Kingfisher

Sao chép các nguồn mới nhất bằng cách sử dụng lệnh sau

Cài đặt Kingfisher qua GitHub.

$ git submodule add https://github.com/onevcat/Kingfisher.git 

Tải về và hình ảnh Cache thông qua thư viện Swift

Đó là một nhiệm vụ rất khó khăn để tải về lập trình một hình ảnh và lưu trữ nó để sử dụng URL. Nguồn mở cửa thư viện Swift Kingfisher làm cho dễ dàng cho các nhà phát triển phần mềm để tải xuống hiệu quả và các hình ảnh trong các ứng dụng riêng của họ. Thư viện hỗ trợ chụp hình cả hai trong ký ức cũng như trên đĩa. Theo mặc định, lượng AM sẽ được sử dụng không giới hạn và người dùng có thể tự đặt giá trị.

Tải về và hình ảnh Cache thông qua thư viện Swift

let urls = ["https://example.com/image1.jpg", "https://example.com/image2.jpg"]
           .map { URL(string: $0)! }
let prefetcher = ImagePrefetcher(urls: urls) {
    skippedResources, failedResources, completedResources in
    print("These resources are prefetched: \(completedResources)")
}
prefetcher.start()
// Later when you need to display these images:
imageView.kf.setImage(with: urls[0])
anotherImageView.kf.setImage(with: urls[1])

Xem hình ảnh bên trong Swift Apps

Thư viện Kingfisher cho phép các lập trình viên phần mềm đưa khả năng xem hình ảnh vào bên trong ứng dụng của họ một cách dễ dàng. Cách dễ nhất để đặt chế độ xem hình ảnh là sử dụng tiện ích mở rộng UIImageView. Thư viện sẽ tải xuống hình ảnh từ URL và dẫn nó đến cả bộ đệm bộ nhớ và bộ đệm ổ đĩa, đồng thời hiển thị hình ảnh đó trong imageView. Khi người dùng sau gọi cùng một URL, nó sẽ nhanh chóng truy xuất và hiển thị hình ảnh từ bộ đệm. Nó cũng hỗ trợ một số chức năng liên quan đến hình ảnh như làm mờ hình ảnh tải xuống, hiển thị trình giữ chỗ, hình ảnh góc tròn, v.v.

Xem hình ảnh bên trong ứng dụng Swift

import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)

Cửa hàng bằng tay hoặc xóa hình ảnh Cache

Nguồn mở của thư viện Swift Kingfisher cho phép lập trình viên để lưu trữ cũng như xóa hình ảnh từ bộ nhớ có thể dễ dàng. Theo mặc định, phương pháp mở rộng có thể được sử dụng để lưu trữ hình ảnh thu được tự động. Nhưng anh có thể làm bằng tay với phương pháp lưu trữ. Anh cũng có thể truyền dữ liệu gốc của hình ảnh giúp thư viện xác định được hình dạng nào mà hình ảnh sẽ được lưu trữ. Nó cũng cung cấp sự hỗ trợ để loại bỏ một hình ảnh nào đó khỏi bộ nhớ. Nó cũng hỗ trợ xóa sạch tất cả dữ liệu bộ nhớ, báo cáo kích thước lưu trữ đĩa và tạo ra bộ nhớ của anh.

Xem hình ảnh bên trong ứng dụng Swift

//Check whether an image in the cache
let cache = ImageCache.default
let cached = cache.isCached(forKey: cacheKey)
// To know where the cached image is:
let cacheType = cache.imageCachedType(forKey: cacheKey)
// `.memory`, `.disk` or `.none`.
// Store Image in the cache
let processor = RoundCornerImageProcessor(cornerRadius: 20)
imageView.kf.setImage(with: url, options: [.processor(processor)])
// Later
cache.isCached(forKey: cacheKey, processorIdentifier: processor.identifier)
// Retrieve image from cache
cache.retrieveImage(forKey: "cacheKey") { result in
    switch result {
    case .success(let value):
        print(value.cacheType)
        // If the `cacheType is `.none`, `image` will be `nil`.
        print(value.image)
    case .failure(let error):
        print(error)
    }
}
 Tiếng Việt