w mojej aplikacji mam przycisk, który wykonuje programowo segue:
- (void)myButtonMethod
{
//execute segue programmatically
[self performSegueWithIdentifier: @"MySegue" sender: self];
}
Chciałbym wiedzieć, czy istnieje sposób na odniesienie się do widoku docelowego i przekazanie mu niektórych parametrów.
Wiem, że w prepareForSegue
metodzie mogę odnieść się myDestinationViewController *vc = [segue destinationViewController];
do tego za pomocą:, ale nie wiem, jak to wykonać programowo.
Czy masz jakies pomysły?
Dzięki, yassa
AKTUALIZACJA:
Przepraszam za to pytanie !!! Po prostu odkryłem, że nawet jeśli płynność jest wywoływana programowo, prepareForSegue
metoda jest wywoływana i tak, więc możliwe jest przekazywanie parametrów w ten sam zwykły sposób.
ios
view
parameters
storyboard
segue
yassassin
źródło
źródło
Odpowiedzi:
Odpowiedź jest po prostu taka, że nie ma znaczenia, w jaki sposób wyzwalana jest ścieżka.
prepareForSegue:sender:
Metoda jest wywoływana w każdym przypadku i to, gdzie zdasz parametry poprzek.źródło
Stare pytanie, ale oto kod, jak zrobić to, o co prosisz. W tym przypadku przekazuję dane z wybranej komórki w widoku tabeli do innego kontrolera widoku.
w pliku .h widoku trget:
w pliku .m:
dataModel
może byćstring
,int
lub tak jak w tym przypadku jest to model zawierający wiele elementówLUB...
źródło
Swift 4:
Swift 3:
źródło
Rozumiem problem wykonania przejścia w jednym miejscu i utrzymania stanu do wysłania parametrów w przygotowaniu do przejścia.
Wymyśliłem sposób, aby to zrobić. Dodałem właściwość o nazwie userInfoDict do ViewControllers przy użyciu kategorii. i nadpisałem również wykonanie segue z identyfikatorem, w taki sposób, że jeśli nadawca jest self (czyli sam kontroler). Przekaże to userInfoDict do następnego ViewController.
Tutaj zamiast przekazywać cały UserInfoDict możesz również przekazać określone parametry jako nadawcę i odpowiednio je zastąpić.
1 rzecz, o której musisz pamiętać. nie zapomnij wywołać super metody w metodzie performSegue ur.
źródło
W przypadku, gdy używasz nowej szybkiej wersji.
źródło