J'ai un NSDictionary
que j'ai mis en cache. J'ai besoin d'implémenter un setObject basé sur le temps avec horodatage. NSCache Class
n'a pas d'objet setExpiry. Toute aide serait appréciée.Comment implémenter NSCache basé sur le temps avec setObject Swift 2.0
Ceci est l'extension que j'ai jusqu'à présent:
import Foundation
extension NSCache {
class var sharedInstance : NSCache {
struct Static {
static let instance : NSCache = NSCache()
}
return Static.instance
}
}
J'ai trouvé NSCache Extension
à http://nshipster.com/nscache/. Un moyen facile de mettre en œuvre avec un horodatage d'expiration?
extension NSCache {
subscript(key: AnyObject) -> AnyObject? {
get {
return objectForKey(key)
}
set {
if let value: AnyObject = newValue {
setObject(value, forKey: key)
} else {
removeObjectForKey(key)
}
}
}
}
Un peu hors sujet, mais si vous essayez de créer un singleton par ce que vous avez dans l'extension en ce moment, vous devriez vérifier out [cet article] (http://krakendev.io/blog/the-right-way-to-write-a-singleton). Vous pouvez créer un singleton sur une ligne, comme ceci: 'static let sharedInstace = NSCache()'. –
J'ai un JSON, dont j'ai besoin de le mettre en cache avec l'horodatage d'expiration de 1HR. Pensez-vous que mon approche est suffisante? Merci .. –