Skip to content

William-Weng/WWCacheManager

Repository files navigation

WWCacheManager

Swift-5.6 iOS-14.0 Swift Package Manager-SUCCESS LICENSE

dependencies: [
    .package(url: "https://github.com/William-Weng/WWCacheManager.git", .upToNextMajor(from: "1.0.1"))
]
函式 功能
build(countLimit:totalCostLimit:delegate:) 建立WWCacheManager
setValue(_ :forKey:) 設定數值
value(forKey:) 讀取數值
removeValue(forKey:) 移除數值
removeAll() 移除全部的數值
@WWCacheValue 修飾字

Example - 範例

import UIKit
import WWPrint
import WWCacheManager

final class ViewController: UIViewController {

    static let manager = WWCacheManager<NSString, UIImage>.build()
    
    @WWCacheValue(ViewController.manager, "heartImage") var heartImage
    
    override func viewDidLoad() {
        super.viewDidLoad()
        cacheManagerDemo()
        cacheValueDemo()
    }
}

private extension ViewController {
    
    func cacheManagerDemo() {
        
        let manager = WWCacheManager<NSString, NSData>.build()
        let key = "cache" as NSString
        let data = "Hello, WWCacheManager!".data(using: .utf8)! as NSData
        
        manager.setValue(data, forKey: key)
        wwPrint(manager.value(forKey: key))
        
        manager.removeValue(forKey: key)
        wwPrint(manager.value(forKey: key))
    }
    
    func cacheValueDemo() {
                
        heartImage = UIImage(systemName: "heart.fill")
        wwPrint(heartImage)
        
        heartImage = nil
        wwPrint(heartImage)
    }
}

About

Make the NSCache function easier to use.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages