Search code examples
jsonswift2ios9nsuserdefaults

Store JSON data in NSUserDefaults Swift 2


I'm new to coding. I have JSON request which returns different parameters, for example "unitid" and "buldingid". i want to store the "buldingid" by NSUserDfaults. I use code below for storing it, but every time I get nil response for "buldingid".

reading:

 NSUserDefaults.standardUserDefaults().setObject(buildingid, forKey: "buildingidKey")
 NSUserDefaults.standardUserDefaults().synchronize()

writing:

let buildingid: [NSString]? = NSUserDefaults.standardUserDefaults().objectForKey("buildingidKey") as? [NSString]

i saved it in a label then stored in NSUserDfaults but it doesn't work (error: Attempt to insert non-property list object)

what should I do to get the correct response for "buldingid"?

Thanks!


Solution

  • I suppose from your code that buildingid is a String, so something like this should work:

    NSUserDefaults.standardUserDefaults().setObject(String(buildingid), forKey: "buildingidKey")
    NSUserDefaults.standardUserDefaults().synchronize()
    

    Retrieving it should be done like this:

    let buildingid = NSUserDefaults.standardUserDefaults().stringForKey("buildingidKey")