CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✗ |
| LangLanguage | SwiftSwift |
| License | MIT |
| ReleasedLast Release | Sep 2016 |
| SPMSupports SPM | ✗ |
Maintained by Nicolas Molina.
Check out the demo project for a concrete example.
// String
UserCache.put("string", value: "This is a string")
print("Key: string\nValue: \(UserCache.get("string"))")
// Number
UserCache.put("number", value: 20.3)
print("Key: number\nValue: \(UserCache.get("number"))")
// JSON
UserCache.put("json", value: ["key": "value"])
print("Key: json\nValue: \(UserCache.get("json"))")
// NSData
UserCache.put("data", value: NSData(bytes: [0xFF, 0xD9] as [UInt8], length: 2))
print("Key: data\nValue: \(UserCache.get("data"))")
print("------------------------------")
// Remove an object from the cache
UserCache.remove("string")
print("Remove Key: string\nValue: \(UserCache.get("string"))")
print("------------------------------")
// Set expired key in 2 seconds
UserCache.put("string", value: "This is a string key expired in 2 seconds", seconds: 2)
print("Expired Key: string\nValue: \(UserCache.get("string"))")
print("Sleep 3 seconds")
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(3 * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(),
{
self.print("Expired Key: string\nValue: \(UserCache.get("string"))")
}
)
// Clean the cache
// UserCache.clear()
// Clean expired keys from cache
// UserCache.cleanExpirated()Return value for key in cache. If not has key in cache return defaultValue.
UserCache.get("exist.key") // return value for "exist.key"
UserCache.get("not.exist.key") // return nil, because "not.exist.key" not exist in cache
UserCache.get("not.exist.key2", defaultValue: 10) // return 10, because "not.exist.key" not exist in cache, but defaultValue is setPut value for key in cache. Expired in seconds.
UserCache.put("a.key", value: 10) // Expired in DEFAULT_CACHE_SECONDS
UserCache.put("a.key2", value: 10, seconds: 5 * 60) // Expired in 5 minutesReturn true if has value for key in cache, else false.
UserCache.has("exist.key") // return true
UserCache.has("not.exist.key") // return falseReturn value for key in cache if exist, and remove this key in cache.
UserCache.remove("exist.key") // return value for "exist.key"
UserCache.remove("not.exist.key") // return nil, because "not.exist.key" not exist in cacheReturn remove all keys in cache.
UserCache.clear()Return remove expirated keys in cache.
UserCache.cleanExpirated()Return true if key in cache is expired, else false.
UserCache.put("a.key2", value: 10, seconds: 5 * 60) // Expired in 5 minutes
// Delay 6 minutes
UserCache.isExpirated("a.key2") // return trueUserCache is available under the MIT license. See the LICENSE file for more info.