2016-12-26 4 views
1

Я открываю другой ViewController с помощью этого:Передача значения строк/объектов к другому ViewController

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

Наряду с этим, мне нужно передать объект Person и значение строки 2 ViewController.

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

Какие изменения мне необходимо сделать, чтобы прикрепить объект Person к моему существующему коду?

EDIT: Это второй ViewController

Я пытаюсь получить значения из этого вида

class IssueViewController: UIViewController { 

    var person: Person = Person(); 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

} 
+0

Контроллер представления проблемы должен иметь права Person, и все, что вам нужно, устанавливается homeViewController.person на ваш объект –

ответ

1

// Изменения в первом контроллере

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) 

// изменения во втором виде контроллер

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

Я получаю эту ошибку, когда я устанавливаю человека в homeViewController: 'Значение типа 'UIViewController' не имеет лица участника '' – Dinuka

+0

Вы определили struct Person там? –

+0

эй жаль, что возникла проблема с кодом, который я исправил в редактировании, пожалуйста, просмотрите. –