Fehlermeldung in der App Anzeigen lassen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehlermeldung in der App Anzeigen lassen

    Hallo zusammen,

    ich tüftle gerade an einer Art Zugangskontrolle. Ich hatte jetzt einen Code geschrieben der eine Fehlerbenachichtigung anzeigen soll:

    Quellcode

    1. func fehlermeldungAnzeigen(){
    2. let Fehlermeldung = UIAlertController(title: "Benutzername falsch!", message: "Bitte gib einen gültigen Benutzername ein.", preferredStyle: .alert)
    3. Fehlermeldung.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
    4. self.present(Fehlermeldung, animated: true)
    5. }
    Nun weiß ich aber nicht wie ich das anzeigen lassen soll. Es soll bei einem If Command als else erscheinen.

    Ich hatte es bereits damit versucht:

    Quellcode

    1. present(fehlermeldungAnzeigen(), animated: true, completion: nil)
    Leider kommt immer die Fehlermeldung: Cannot convert value of type '()' to expected argument type 'UIViewController

    Ich weiß allerdings nicht wie ich diesen Fehler beheben kann (Im Internet waren die Lösungen für diesen Fehlercode meist für andere Zwecke).

    Ich hoffe ihr könnt mir weiterhelfen...

    Viele Grüße :D
  • Grundsätzlich brauchst Du einen ViewController, um den Alert anzeigen zu können.

    Entweder definierst Du Deine Funktion im Kontext eines solchen ... dann hast Du aber im Zweifelsfall an x Stellen im Code eine solche Funktion (potentiell in jedem ViewController).

    Oder Du schaffst Dir eine globale Funktion, die als Parameter z. B. ein NSError-Objekt oder auch nur einen String bekommt. In dieser musst Du Dir dann aber einen präsentierenden ViewController "suchen", wie den rootViewController eines überlagernden Fensters.

    In beiden Fällen wird die Funktion einfach nur (mit entspechendem Parameter) aufgerufen. Ich machte mittlerweile zweiteres, dann habe ich eine zentrale Stelle, die Fehler loggt und anzeigt.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.