[Swift] Verwenden wir die Erweiterung

Einführung

Swift hat einen Mechanismus namens Erweiterung. Dies ist eine sehr praktische Funktion, mit der Sie Funktionen zu vorhandenen Klassen hinzufügen können, ohne die Klasse zu erben.

Selbst wenn der in der zu entwickelnden Anwendung zu implementierende Verarbeitungsaufwand zunimmt, ist es einfacher, ihn mit effektivem Code auszudrücken, indem die Erweiterung effektiv verwendet wird. Ich denke, dass es ein Mechanismus ist, der verstanden werden muss, um einen Anfänger anzustreben.

Beispiel 1: Fügen Sie eine Methode zum Generieren einer Datumszeichenfolge zum Datumstyp hinzu

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)
    }
}

Wenn Sie dies tun, können Sie die Datumszeichenfolge wie unten gezeigt leicht abrufen. Es ist einfacher als die Konvertierungsmethode separat zu implementieren.

datesample.swift


let datestr = Date().getDateTimeString()

Beispiel 2: Es wurde eine Methode zum Anzeigen einer Warnung im Ansichtscontroller hinzugefügt.

Dies ist häufig der Fall, wenn Sie Warnungen im Ansichts-Controller anzeigen möchten. Machen Sie es sich einfach mit Erweiterungen.

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)
    }
}

Sie können ein Warnfenster mit nur einer Zeile von jedem Ansichts-Controller aus aufrufen.

vcsample.swift


    displayAlert(title: "Warnung", message: "Ansatz mit hoher Wärmequelle!")

Betriebsüberprüfungsumgebung

Xcode: 11.7 iOS: 13.7 Schnelle Version: Swift5

das ist alles

Recommended Posts

[Swift] Verwenden wir die Erweiterung
[Swift] Verwenden wir die segmentierte Steuerung
Verwenden wir den Swift Package Manager (SwiftPM) ~ Creation ~
Verwenden wir den Swift Package Manager (SwiftPM) ~ Einführung ~
[spring] Verwenden wir Spring Data JPA
Verwenden wir Set more [Collections Framework]
Verwenden wir Twilio in Java! (Einführung)
Verwenden wir Reflection Private Method Access
Verwenden wir es, nachdem wir sudo verstanden haben!
Installieren Sie Xcode und verwenden Sie Hello Swift!
[Swift / Anfänger] Verwenden Sie Enum für die konservative Codierung