https://github.com/orucanil/anwcachemanager
Memory friendly caching in directory and simple use user defaults methods. Every cached object has a life cycle and it will be deleted when it expires. It uses the memory and file directory in a complex and effective way.
https://github.com/orucanil/anwcachemanager
cache cachemanager directory ios memcached swift
Last synced: 6 months ago
JSON representation
Memory friendly caching in directory and simple use user defaults methods. Every cached object has a life cycle and it will be deleted when it expires. It uses the memory and file directory in a complex and effective way.
- Host: GitHub
- URL: https://github.com/orucanil/anwcachemanager
- Owner: orucanil
- License: mit
- Created: 2016-10-05T05:12:49.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-25T05:44:08.000Z (over 8 years ago)
- Last Synced: 2025-02-26T10:45:58.939Z (about 1 year ago)
- Topics: cache, cachemanager, directory, ios, memcached, swift
- Language: Swift
- Homepage: https://www.linkedin.com/in/annul
- Size: 16.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ANWCacheManager
Memory friendly caching in directory and simple use user defaults methods. Every cached object has a life cycle and it will be deleted when it expires. It uses the memory and file directory in a complex and effective way.
Installation
--------------
To use the ANWCacheManager in an app, just drag the ANWCacheManager files in Classes folder (demo files and assets are not needed) into your project. Add "#import " into Bridging-Header.
Properties
--------------
The ANWCacheManager has the following properties (note: for iOS, NSObject when using properties):
static let instance = ANWCacheManager()
Instance object. (Singleton)
private static let kDefaultCacheMaxCacheAge: Double = 60 * 60 * 24 * 7; // 1 week
The default value is 1 week.
Methods
--------------
The ANWCacheManager has the following methods (note: for iOS, NSObject in method arguments):
func setImage(image: UIImage?, key: String)
Save image to memory and file directory.
func setObject(object: AnyObject?, key: String)
Save object to memory and file directory.
func setData(data: NSData, key: String)
Save data to memory and file directory.
func object(key: String) -> AnyObject?
Get object from memory or file directory.
func image(key: String) -> UIImage?
Get image from memory or file directory.
func isHaveObject(key: String) -> Bool
This object is checked from key in memory or file directory.
func removeObject(key: String?)
Remove object from memory or file directory.
func clearDisk()
Delete all objects in file directory.
func writeToUserDefaults(object: AnyObject, key: String) -> Bool
Write object to user defaults.
func removeFromUserDefaults(key: String) -> Bool
Remove object from user defaults.
func readFromUserDefaults(key: String) -> AnyObject?
Get object from user defaults.
func saveCache(object: AnyObject, key: String)
Save object to memory.
func readCacheObject(key: String) -> AnyObject?
Get object from memory.
How to use ?
----------
```Swift
let photoURL: String = "demo.url"
// Remove to file directory
ANWCacheManager.instance.removeObject(key: photoURL)
let dataKey: String = "demo.key"
// Remove to user defaults
ANWCacheManager.instance.removeFromUserDefaults(key: dataKey)
// Save to file directory
let data: String = "demo.key"
ANWCacheManager.instance.setObject(object: data, key: dataKey)
// Save to file directory
let imageName: String = "demo.image.name"
let imageKey: String = "demo.image.key"
ANWCacheManager.instance.setImage(image: UIImage(named: imageName), key: imageKey)
// Remove to file directory
ANWCacheManager.instance.removeObject(key: imageKey)
// Save to user defaults
ANWCacheManager.instance.writeToUserDefaults(object: data, key: dataKey)
```
Build and run the project files. Enjoy more examples!