2016-04-07 23 views
0

Ich habe ViewController.swift und innerhalb dieses View-Controller ich habeswift: Wie kann man auf eine Variable in einem anderen View-Controller zugreifen?

let array = NSUserDefaults.standardUserDefaults().objectForKey("\(login)") as! NSArray 

let name = array[2]

I 3 Element des Arrays zu übernehmen möchten, und verwenden Sie es in ProfileViewController.swift

Was soll ich tun ?

+0

' static' Vars helfen kann – Fennec

+0

wie statische helfen kann –

+0

'statische let array = NSUserDefaults.standardUserDefaults() .objectForKey ("\ (login)") als! NSArray' und verwenden Sie es als 'let name = YourClassName.array [2]' – Fennec

Antwort

2

Verwenden prepareForSegue Methoden-

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 

    } 
} 

Innen ProfileViewController

var arrayReceived: [String]! 

Wann immer es die Segue durchgeführt wird, wird arrayReceived Array enthalten

let viewController = self.storyboard.instantiateViewControllerWithIdentifier("profileView") as ProdileViewController 
viewController.arrayReceived = array 

hoffe, das hilft

+0

Ich verwende kein Storyboard. –

+0

Wenn Ihr Array bereits in NSUserDefaults ist, können Sie darauf zugreifen von Ihrem profileviewcontroller auch – Abhishek729

+0

Auch wenn Sie instanziateViewController verwenden, können Sie die gleiche Logik verwenden – Abhishek729

0

Klasse Ewige {

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) 
} 

}

Nutzungs

Eternal.setObject ("me trennen. Ich würde lieber nichts“, forKey: "sein.? Bishop") Eternal.objectForKey ("Bischof")

Verwandte Themen