Skip to content

Instantly share code, notes, and snippets.

@ctrevarthen
Last active November 19, 2015 03:40
Show Gist options
  • Save ctrevarthen/86470886ec5aeb1650f3 to your computer and use it in GitHub Desktop.
Save ctrevarthen/86470886ec5aeb1650f3 to your computer and use it in GitHub Desktop.
Saving and loading products with NSUserDefaults
class ProductManager {
var products : [Product] = []
var productsKey : String = "products"
let userDefaults = NSUserDefaults.standardUserDefaults()
func saveProductsToDefaults() {
let productsKeyedArchive = NSKeyedArchiver.archivedDataWithRootObject(self.products)
self.userDefaults.setObject(productsKeyedArchive, forKey: productsKey)
}
func loadProductsFromDefaults() {
if let data = self.userDefaults.objectForKey(productsKey) as? NSData {
let unarc = NSKeyedUnarchiver(forReadingWithData: data)
if let savedProducts = unarc.decodeObjectForKey("root") as? [Product] {
self.products = savedProducts
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment