MarcoCarnevali
MarcoCarnevali

Reputation: 668

Swift 2 NSUserDefaults read Arrays

i'm updating my app to Swift 2.. lots of errors uff.. anyway i'm trying to read a store array in NSuserDefaults, in swift 1 worked but now i get nil error with EXC_Breakdown. i don't know how to fix that...

this is how i read it:

 var DescriptionArray = save.objectForKey("NewsDescriptions")! as! NSArray

this i how i save it (Description is the array):

 var SaveDescription = save.setObject(Description, forKey: "NewsDescriptions")        
  save.synchronize()

Upvotes: 1

Views: 1725

Answers (2)

Brian Nezhad
Brian Nezhad

Reputation: 6258

Here is an example of how you can store data into NSUserDefault in Swift 2.0. It is very similar to Objective-C concept, only different syntax.

Initialize your NSUserDefault Variable:

let userDefaults = NSUserDefaults.standardUserDefaults()

Initialize what type of data to save: In your case you used objectForKey, even though that should work, it's better to be more specific about your code.

var DescriptionArray = userDefaults.arrayForKey("NewsDescriptions") 

Save your data:

userDefaults.setObject(Description, forKey: "NewsDescriptions")

Then you can synchronize to process the saving faster.

userDefaults.synchronize()

Upvotes: 1

Geek20
Geek20

Reputation: 713

Here is an example with Swift 2:

    func saveArray(value: NSArray) {
        NSUserDefaults.standardUserDefaults().setObject(value, forKey:"NewsDescriptions")
        NSUserDefaults.standardUserDefaults().synchronize()
    }

    func readArray() -> NSArray {
        return NSUserDefaults.standardUserDefaults().arrayForKey("NewsDescriptions")!
    }

Upvotes: 1

Related Questions