2014-12-06 13 views
5

Pracuję nad szybką aplikacją i utworzyłem łącza do innych widoków przy użyciu presentViewController, ale nie mogę wymyślić, jak przekazywać zmienne. Jak przekazać zmienne do nowego widoku?Przekaż zmienne za pomocą PresentViewController w Swift

@IBAction func WorkoutPressed(sender: AnyObject) { 
    let storyBoard = UIStoryboard(name: "Main", bundle:nil) 
    let workoutView = storyBoard.instantiateViewControllerWithIdentifier("workoutView") as WorkoutViewController 
    self.presentViewController(workoutView, animated: false, completion: nil) 
    //self.navigationController?.pushViewController(workoutView, animated: true) 
} 

Dzięki

+3

'workoutView.someVariable =" tak, to takie proste "' –

+0

Więc przed self.presentViewController, mam linię, która może dodać parametry? Gdzie mogę ustawić, które zmienne są parametrami? – Marcus

+2

Dlaczego nazywasz je parametrami? Są to zmienne, nawet jeśli ustawisz je z zewnątrz obiektu. Jeśli twój viewController ma zmienną, możesz ją ustawić. A może ustawiłeś zmienne WorkoutViewController jako prywatne? --- Zalecam, aby edytować pytanie, aby pokazać przykład zmiennej, której nie możesz ustawić. Istnieje kilka możliwości, które uniemożliwiają ustawienie zmiennej z zewnątrz. Więc może napotkałeś jedną z nich. Ale musisz pokazać jakiś prawdziwy kod lub nie możemy ci pomóc. –

Odpowiedz

8

To jest prostsze niż myślisz: nie trzeba przekazać parametry, ponieważ można uzyskać dostęp do zmiennych klasy kolejnego kontrolera widoku bezpośrednio.

Oznacza to, że można zrobić coś takiego:

workoutView.myVar = myVal 

A kiedy tego widoku ładunki, myVar będzie miał wartość myVal. (Nie zapomnij jednak o tym zadeklarować w WorkoutViewController).

Powiązane problemy