2017-11-18 2 views
0

Ich habe versucht, den Code um ein bisschen verschoben. Die Fehler, die ich bekam, war die Verwendung der lokalen Variablen displayMessage vor ihrer Deklaration. Also zog ich die func displayAlertMessage über dem Display eine Alarmmeldung Kommentar, der neue Fehler use of unresolved identifier 'displayAlertMessage'Verwendung der nicht aufgelösten Bezeichner 'displayAlertMessage'

// 
// RegisterPageViewController.swift 
// UserLoginandRegistration 
// 
// Created by Iyah Chulo on 17/11/2017. 
// Copyright © 2017 Iyah Chulo. All rights reserved. 
// 

import UIKit 

class RegisterPageViewController: UIViewController { 

    @IBOutlet weak var userEmailTextField: UITextField! 
    @IBOutlet weak var userPasswordTextField: UITextField! 
    @IBOutlet weak var ReenterPasswordTextField: UITextField! 



    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func RegisterButtonTapped(_ sender: Any) { 

     let userEmail = userEmailTextField.text; 
     let userPassword = userPasswordTextField.text; 
     let userReenterPassword = ReenterPasswordTextField.text; 

     // Check for empty fields 
     if((userEmail?.isEmpty)! || (userPassword?.isEmpty)! || 
     (userReenterPassword?.isEmpty)!) 

     { 

      func displayAlertMessage(userMessage: String) { let myAlert = UIAlertController(title:"Alert", message: userMessage, preferredStyle: 
       UIAlertControllerStyle.alert); 

       let okAction = UIAlertAction(title:"Ok", style: 
        UIAlertActionStyle.default, handler:nil) 

       myAlert.addAction(okAction); 

       self.present(myAlert, animated: true, 
          completion:nil) 
      } 

// Anzeige Warnmeldung displayAlertMessage (userMessage: "Alle Felder sind erforderlich") return; }

 //Check if passwords match 
     if(userPassword != userReenterPassword) 
     { 

// Display an alert message 

    displayAlertMessage(userMessage: "Passwords do not match") 

      return; 

     } 


     // Store data 

     UserDefaults.standard.set(userEmail, forKey:"userEmail") 
     UserDefaults.standard.set(userEmail, forKey:"userPassword") 
     UserDefaults.standard.synchronize() 

     // Display alert message with confirmation 
     var myAlert = UIAlertController(title:"Alert", message: "Registration is successful.Thank you!", preferredStyle: 
      UIAlertControllerStyle.alert); 
     let okAction = UIAlertAction(title:"Ok", style: 
     UIAlertActionStyle.default) { action in 
      self.dismiss(animated: true, completion:nil) 

    } 








    } 

} 

Antwort

0

Ihre displayAlertMessage Funktionsdefinition muss außerhalb der anderen Funktionen in der Klasse sein.

Bitte beachten Sie auch, dass Swift keine Semikolons benötigt!

Versuchen Sie folgendes:

import UIKit 

class RegisterPageViewController: UIViewController { 

    @IBOutlet weak var userEmailTextField: UITextField! 
    @IBOutlet weak var userPasswordTextField: UITextField! 
    @IBOutlet weak var ReenterPasswordTextField: UITextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func RegisterButtonTapped(_ sender: Any) { 

     let userEmail = userEmailTextField.text 
     let userPassword = userPasswordTextField.text 
     let userReenterPassword = ReenterPasswordTextField.text 

     // Check for empty fields 
     if((userEmail?.isEmpty)! || (userPassword?.isEmpty)! || 
      (userReenterPassword?.isEmpty)!) 
     { 
      //Display alert message 
      displayAlertMessage(userMessage: "All fields are required") 
      return; 
     } 

     //Check if passwords match 
     if(userPassword != userReenterPassword) 
     { 
      // Display an alert message 
      displayAlertMessage(userMessage: "Passwords do not match") 
      return; 
     } 

     // Store data 
     UserDefaults.standard.set(userEmail, forKey:"userEmail") 
     UserDefaults.standard.set(userEmail, forKey:"userPassword") 
     UserDefaults.standard.synchronize() 

     // Display an alert message 
     displayAlertMessage(userMessage: "Registration is successful.Thank you!") 
    } 

    func displayAlertMessage(userMessage: String) { 

     let myAlert = UIAlertController(title:"Alert", message: userMessage, preferredStyle: UIAlertControllerStyle.alert) 

     let okAction = UIAlertAction(title:"Ok", style: UIAlertActionStyle.default) { 
      action in 
      self.dismiss(animated: true, completion:nil) 
     } 

     myAlert.addAction(okAction); 

     self.present(myAlert, animated: true, completion: nil) 
    } 

} 
Verwandte Themen