En aquest article, explorarem cinc maneres de passar dades entre els controladors de visualització, amb fragments de codi Swift i exemples. Les cinc maneres són:
- Vostè segueix
- Patró de disseny delegat
- Patró de disseny Singleton
- Tancaments
- Centre de notificacions
Els segments són un mode de storyboard per passar dades.
Imagineu que la vostra aplicació té una pantalla integrada i voleu demanar el nom de l'usuari per dirigir-s'hi més endavant en una altra pantalla:
Comenceu a crear el segue mitjançant un storyboard. Control + feu clic a l’element d’interfície d’usuari que faràs servir per fer el pont i arrossega al segon controlador de visualització. Seleccioneu l'opció Mostra al menú Segueix l'acció.
Control + feu clic al botó i arrossegueu al segon ViewController i, a continuació, seleccioneu Mostra.
Ara, al primer ViewController
classe, heu de substituir el prepare(for segue)
mètode:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // Create a variable to store the name the user entered on textField let nickName = textField.text ?? '' // Create a new variable to store the instance of the SecondViewController // set the variable from the SecondViewController that will receive the data let destinationVC = segue.destination as! SecondViewController destinationVC.nickName = nickName }
El vostre SecondViewController
la classe hauria de ser així:
import UIKit class SecondViewController: UIViewController { @IBOutlet weak var nickNameLabel: UILabel! //a variable to hold the data from the first ViewController var nickName: String = '' override func viewDidLoad() { super.viewDidLoad() nickNameLabel.text = 'Hello, ' + nickName } }
#mobile #xcode #programming #ios #swift #controllers
medium.com
5 maneres de passar dades entre controladors de visualització
Pas de dades entre controladors de visualització amb propietats (A → B) Mitjançant una propietat d’instància (A → B) Mitjançant segues (per Storyboards) Mitjançant funcions i propietats d’instància (A ← B) Mitjançant el patró de delegació. Mitjançant l’ús d’un gestor de tancament o finalització. Mitjançant l’ús de NotificationCenter i el patró Observer.