[Swift] Utilisons l'extension

introduction

Swift a un mécanisme appelé extension. C'est une fonction très pratique qui vous permet d'ajouter des fonctions aux classes existantes sans hériter de la classe.

Même si la quantité de traitement à implémenter dans l'application à développer augmente, il sera plus facile de l'exprimer avec un code concis en utilisant efficacement l'extension. Je pense que c'est un mécanisme qu'il faut comprendre pour devenir débutant.

Exemple 1: Ajouter une méthode pour générer une chaîne de date au type Date

DateExtension.swift


extension Date {
    func getDateTimeString() -> String {
        let dateFormatter = DateFormatter()
        dateFormatter.locale = Locale(identifier: "en_US_POSIX")
        dateFormatter.timeZone = TimeZone.current
        dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss"

        return dateFormatter.string(from: self)
    }
}

Si vous faites cela, vous pouvez facilement obtenir la chaîne de date comme indiqué ci-dessous. C'est plus simple que d'implémenter la méthode de conversion séparément.

datesample.swift


let datestr = Date().getDateTimeString()

Exemple 2: Ajout d'une méthode pour afficher une alerte dans le contrôleur de vue.

C'est souvent le cas lorsque vous souhaitez afficher des alertes dans le contrôleur de vue. Simplifiez-vous la vie avec les extensions.

UIViewControllerExtension.swift


extension UIViewController {
    func displayAlert(title:String, message:String){
        let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
        alertController.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
        
        self.present(alertController, animated: true, completion: nil)
    }
}

Vous pouvez obtenir une fenêtre d'alerte avec une seule ligne à partir de n'importe quel contrôleur de vue.

vcsample.swift


    displayAlert(title: "Attention", message: "Approche de source de chaleur élevée!")

Environnement de vérification de fonctionnement

Xcode: 11.7 iOS: 13.7 Version Swift: Swift5

c'est tout

Recommended Posts

[Swift] Utilisons l'extension
[Swift] Utilisons le contrôle segmenté
Utilisons Swift Package Manager (SwiftPM) ~ Création ~
Utilisons Swift Package Manager (SwiftPM) ~ Introduction ~
[spring] Utilisons Spring Data JPA
Utilisons Set more [Collections Framework]
Utilisons Twilio en Java! (Introduction)
Utilisons la réflexion Accès aux méthodes privées
Utilisons-le après avoir compris sudo!
Installez Xcode et utilisez Hello Swift!
[Swift / Beginner] Utilisez Enum pour un codage conservateur