2017-11-18 168 views
0

我试着将代码移动了一下。我得到的错误是在声明之前使用本地变量displayMessage。因此,我提出的FUNC displayAlertMessage显示上述提醒消息评论,新的误差是use of unresolved identifier 'displayAlertMessage'使用未解析的标识符'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) 
      } 

//显示警报消息 displayAlertMessage(userMessage:“所有字段都需要”) 回报; }

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

    } 








    } 

} 

回答

0

displayAlertMessage函数定义必须是在你们班等功能外。

此外,请注意,Swift不需要分号!

试试这个:

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

}