Reputation: 169
I have ViewController.swift and inside of this view controller i have
let array = NSUserDefaults.standardUserDefaults().objectForKey("\(login)") as! NSArray
let name = array[2]
I want to take 3 element of array and use it in ProfileViewController.swift
What i should do?
Upvotes: 0
Views: 235
Reputation: 776
class Eternal {
class func setObject(value: AnyObject!, forKey defaultName: String!) {
let defaults:NSUserDefaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(value, forKey:defaultName)
defaults.synchronize()
}
class func objectForKey(defaultName: String!) -> AnyObject! {
let defaults:NSUserDefaults = NSUserDefaults.standardUserDefaults()
return defaults.objectForKey(defaultName)
}
}
Usage
Eternal.setObject("Disconnect me. I’d rather be nothing", forKey:"Bishop") Eternal.objectForKey("Bishop")
Upvotes: 0
Reputation: 327
Use prepareForSegue method-
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SegueToProfileView" {
//Replace "SegueToProfileView" with your segue identifier
let x = segue.destinationViewController as! ProfileViewController
x.arrayReceived = array
}
}
Inside ProfileViewController
var arrayReceived: [String]!
Whenever there is the segue is performed, arrayReceived will contain your array
let viewController = self.storyboard.instantiateViewControllerWithIdentifier("profileView") as ProdileViewController
viewController.arrayReceived = array
Hope this helps
Upvotes: 2