Использование неразрешенного идентификатора `displayMessage` - PullRequest
0 голосов
/ 26 апреля 2018

Вот моя ошибка по изображению

Мой код указан ниже, и у меня все проблемы на displayMessage

Первая ошибка:

SigninViewController.swift: 45: 17: использование неразрешенного идентификатора 'displayMessage'

Следующая ошибка:

SigninViewController.swift: 87: 13: значение типа 'SigninViewController' не имеет члена 'removeActivityIndicator'

import UIKit

class SigninViewController: UIViewController {

    @IBOutlet weak var userNameTextFeild: UITextField!


    @IBOutlet weak var userPasswordTextField: 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 loginInButtonTapped(_ sender: Any) {
        print("log in button tapped")

        //Read values from text field

        let userName = userNameTextFeild.text
        let userPassword = userPasswordTextField.text

    // Check if required fields are not empty
        if(userName?.isEmpty)! || (userPassword?.isEmpty)!
        {

        // Display alert message


                print("User name \(String(describing: userName)) or password \(String(describing:userPassword)) is empty")

                displayMessage(userMessage:"one of the required feilds is missing")

                return

        }
        // Activity indicator

        let myActivityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)

        myActivityIndicator.center = view.center

        myActivityIndicator.hidesWhenStopped = false

        myActivityIndicator.startAnimating()

        view.addSubview(myActivityIndicator)


        // URL for login

        let myUrl = URL(string: "htps://198.228.12.1")
        var request = URLRequest(url:myUrl!)

        request.httpMethod = "POST"
        request.addValue("application/json", forHTTPHeaderField: "content-type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")

        let postString = ["userName": userName!, "userPassword": userPassword!] as [String:String]

        do {
            request.httpBody = try JSONSerialization.data(withJSONObject: postString,
               options: .prettyPrinted)
        } catch let error  {
            print(error.localizedDescription)

            displayMessage(userMessage:"something went wrong")

            return
        }

        let task = URLSession.shared.dataTask(with: request) { (data: Data?, responce:
            URLResponse?, error: Error?) in
            self.removeActivityIndicator(activityIndicator: myActivityIndicator)

            if error != nil
            {


                self.displayMessage(userMessage: "Could not sucessfully perform this request")
                print("error=\(String(describing:error))")
                return

        }
            do{
                let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary

            } catch {

                self.remoteActivityIndicator(activityIndicator: myActivityIndicator)


                self.displayMessage(userMessage: "Could not sucessfully perform this request")
                print(error)



      }

    }
  }
}

1 Ответ

0 голосов
/ 26 апреля 2018

Прежде всего, вам действительно нужно разбить код на функции. Это значительно упростит отладку, потому что вы будете точно знать, какая функция работает неправильно.

Запрос JSON должен быть одной функцией, анализ JSON должен быть другой, и если вам нужно обновить экран, то должна быть другая.

Теперь, из-за вашей ошибки, я не вижу, где displayMessage инициализируется (или определяется), поэтому вам нужно создать его, прежде чем его можно будет использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...