2016-12-26 1 views
1

J'ouvre une autre ViewController en utilisant ceci:Passer une chaîne/valeur objet à un autre ViewController

let mainStoryboard: UIStoryboard = UIStoryboard(name:"Main", bundle:nil) 
let homeViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "IssueViewController") 
self.present(homeViewController, animated: true, completion: nil) 

Parallèlement à cela, je dois passer un objet Personne et une valeur de chaîne au 2ème ViewController.

struct Person { 
    var Name: String 
    var Details: String 
} 

Quels changements dois-je faire pour attacher un objet Person à mon code existant?

EDIT: Ceci est la 2ème ViewController

Je suis en train de récupérer les valeurs de ce point de vue

class IssueViewController: UIViewController { 

    var person: Person = Person(); 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

} 
+0

Problème Le contrôleur doit avoir une propriété Personne et tout ce dont vous avez besoin est défini homeViewController.person sur votre objet –

Répondre

1

// changements dans premier contrôleur

let mainStoryboard: UIStoryboard = UIStoryboard(name:"Main",bundle:Bundle.main) 
let homeViewController: IssueViewController = mainStoryboard.instantiateViewController(withIdentifier: "IssueViewController") as! IssueViewController 
homeViewController.person = Person(Name:"ABC",Details:"XYZ") 
homeViewController.bindWithData(yourStringObject) 
self.present(homeViewController, animated: true, completion: nil) 

// changements dans la deuxième vue contrôleur

class IssueViewController: UIViewController { 

var person: Person = Person(Name:"",Details:""); 

override func viewDidLoad() { 
    super.viewDidLoad() 
    print(person.Name) 
    print(person.Details) 
} 
func bindWithData(yourStringObject:String){ 
//your code here. 
} 
} 
+0

Je reçois cette erreur lorsque je mets la personne dans le homeViewController: 'Value of type 'UIViewController' n'a pas de membres '' – Dinuka

+0

avez-vous défini struct Personne là? –

+0

hé désolé il y avait un problème avec le code que je l'ai réparé dans le montage s'il vous plaît avis. –