[Swift5] Comment communiquer de ViewController à Model et transmettre une valeur

Rôle ViewController

VIewController est une classe qui gère et opère (affiche, masque, arrange, anime, etc.) la vue affichée comme son nom l'indique.

Après cela, il a le rôle d'afficher et de gérer le texte et la vue en fonction des données reçues.

Rôle du modèle

Il est en charge de la logique métier dans le système, et c'est le rôle de Model de traiter réellement les données. Par exemple, c'est le modèle qui traite l'API.

À propos du modèle MVC

C'est l'une des architectures du développement d'applications.

Outre le modèle MVC, il existe MVP, MVVM, etc. Des détails sur le modèle MVC peuvent être trouvés à l'url ci-dessous. https://qiita.com/s_emoto/items/975cc38a3e0de462966a

Préparation du modèle

Tout d'abord, créez une classe côté modèle et préparez les propriétés et init (initialiseur (valeur initiale)).

SampleModel.swift


class SampleModel {

    //Propriété pour mettre la valeur transmise par Controller
    var sampleValueA: String?
    var sampleValueB: String?
    var sampleValueC: String?

    //Recevoir la valeur du contrôleur (initialiseur (valeur initiale))
    init(firstSampleValue: String, secondSampleValue: String, thirdSampleValue: String) {

        sampleValueA = firstSampleValue
        sampleValueB = secondSampleValue
        sampleValueC = thirdSampleValue
    }

Description côté contrôleur

Écrivez d'abord le code.

ViewController.swift


class SampleViewController: UIViewController {
    
    //Valeur à transmettre à SampleModel
    firstSampleValue  = "firstSampleValue"
    secondSampleValue = "secondSampleValue"
    thirdSampleValue  = "thirdSampleValue"

    override func viewDidLoad() {
        super.viewDidLoad()

        startSampleModel()
    }
    
    //Méthode pour communiquer avec SampleModel
    func startSampleModel() {

      let sampleModel = SampleModel(firstSampleValue: firstSampleValue, secondSampleValue: secondSampleValue, thirdSampleValue: thirdSampleValue)
    }
}

Appelez l'initialisation créée par le modèle du côté du contrôleur et placez les propriétés créées par le contrôleur dans l'initialisation du modèle.

Ensuite, le processus est effectué dans l'init de Model, et dans ce cas, la chaîne de caractères" firstSampleValue "" créée par Controller devient "sampleValueA", et la "chaîne de caractères" secondSampleValue "" est la chaîne de caractères " Dans sampleValueB, la chaîne de caractères" thirdSampleValue " se trouve dans sampleValueC.

Vous pouvez maintenant transmettre des valeurs du contrôleur au modèle.

finalement

Dans le prochain article, je publierai sur ** Comment renvoyer une valeur du modèle au contrôleur **. Ceci est la suite de cet article.

Veuillez vous y référer!

Recommended Posts

[Swift5] Comment communiquer de ViewController à Model et transmettre une valeur
Comment renvoyer une valeur du modèle au contrôleur en utilisant le protocole [Swift5]
[Swift] Comment envoyer une notification
Comment appeler le code Swift 5.3 depuis Objective-C
[Swift5] Comment créer un écran de démarrage
Comment utiliser la portée et le traitement des passes (servist)
Comment convertir une valeur d'un type différent et l'affecter à une autre variable
[Swift] Comment lire des chansons de la bibliothèque musicale
Comment passer d'Eclipse Java à un fichier SQL
Comment déployer à partir d'une image Docker locale vers Heroku
Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment transmettre des informations de pixels d'image de manière native depuis Unity
[Ruby] Comment extraire une valeur spécifique d'un tableau sous plusieurs conditions [sélectionner / chacun]
Comment créer un formulaire pour sélectionner une date dans le calendrier
Comment stocker des chaînes de ArrayList à String en Java (personnel)
Comment graver un disque d'installation de Windows à partir d'Ubuntu
Comment écrire et noter lors de la migration de VB vers JAVA
Ajouter une ombre au bouton Swift (et aussi au cercle)
Mappage à une classe avec un objet de valeur dans How to My Batis
Comment développer et enregistrer une application Sota en Java
Comment joindre une table sans utiliser DBFlute et SQL
[Rails 5] Comment utiliser gem gon ~ Comment passer des variables de Rails à JS ~
Comment créer et lancer un Dockerfile pour Payara Micro
Passez des variables à Scope.
Comment insérer une vidéo
Comment créer une méthode
Passer le caractère de langage C * à Swift
Comment transmettre une valeur autre que l'attribut d'annotation au message Hibernate Validator (Bean Validation) (méthode d'incorporation)
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
[Astuces] Comment résoudre les problèmes avec XCode et Swift pour les débutants
Comment charger un fichier de téléchargement Spring et afficher son contenu
Comment lire un fichier et le traiter comme une entrée standard
Comment exécuter l'exemple Kotlin Coroutine à partir de la ligne de commande
Comment renommer un modèle avec des contraintes de clé externes dans Rails
Comment ouvrir un fichier de script à partir d'Ubuntu avec du code VS
[Java] Comment convertir du type String en type Path et obtenir le chemin
Introduction à Scala du point de vue Java (basique)
Méthode à décrire en divisant en plusieurs méthodes Comment passer des arguments Comment utiliser la valeur de retour Surcharge de méthode Passer par valeur et passer par référence
Comment télécharger et exécuter le package Jar directement à partir du référentiel Maven avec juste la ligne de commande
Comment utiliser StringBurrer et Arrays.toString.
Comment créer un conteneur Java
Comment signer Minecraft MOD
Comment créer un pilote JDBC