如何在Xcode中创建一个简单的登录屏幕?

时间:2019-01-09 02:21:13

标签: swift xcode login

我正在制作一个使用我制作的登录屏幕的应用程序。输入是您在用户名中键入的此文本字段。如何使其响应不同的用户名?例如,用户名是UK。我如何使其响应是否为“英国”?我是Xcode的完整入门者,所以请您逐步指导我进行操作吧?

我尝试使用从视频中看到的if(Username!.text, isEqual: "Hello"),但弹出错误提示:

  

'(String ?, isEqual:String)'不能转换为'Bool'。

我不知道这意味着什么以及如何解决它。

import UIKit

    class ViewController: UIViewController {


    @IBOutlet var ftest: UILabel!
    @IBOutlet var Username: UITextField?
    @IBOutlet var Password: UITextField!

    @IBAction func SignIn(_ sender: Any) {
        if(Username!.text, isEqual: "Hello")
    }
    //this code above is the code I tried to do based on a video and it did not work.

    override func viewDidLoad() {
        super.viewDidLoad()

    }
}

我希望它打印“ Hi”或其他内容。我只希望它对以下内容做出反应:

  1. 如果用户名是“ UK”,并且
  2. 如果用户名不是“ UK”。

2 个答案:

答案 0 :(得分:0)

您只需按照以下说明使用==

@IBAction func SignIn(_ sender: Any) {
     if(Username!.text == "Hello" || Username!.text == "UK") {
          print("Hi")
     }
}

||表示“或”
&&的意思是与

希望获得帮助!

答案 1 :(得分:0)

您可以通过这种方式完成

 @IBAction func SignIn(_ sender: Any) {
    if Username!.text == "UK"
    {
     print("Hi")
    }
    else 
    {
    // do your stuff
    }
}

此外,您还可以使用变量来检查文本字段中是否包含字符串,如下所示:

var Str = "UK"
     if Str.contains(self.Username!.text!) {
        print("Hi")
     }

扩展方式:

extension String {
            func contains(find: String) -> Bool{
                return self.range(of: find) != nil
            }
        }

    var value = self.Username!.text // You can put value as of your textfield.text and then check

    print(value.contains("UK")) // true 
    print(value.contains("THIS"))    // false

    if value.contains("UK") == true
        {
         print("Hi")
        }
        else 
        {
        // do your stuff
        }