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



我正在制作一个使用我制作的登录屏幕的应用程序。输入是您键入用户名的文本字段。如何让它响应不同的用户名?例如,用户名为英国。我如何让它响应它是或不是"英国"?我是Xcode的完全初学者,所以你能引导我完成这些步骤吗?

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

"(字符串?,isEqual:字符串)"不能转换为"布尔"。

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

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

我希望它打印"嗨"或其他东西。我只是想让它对以下内容做出反应:

  1. 如果用户名是"英国",并且
  2. 如果用户名不是"英国"。

您可以简单地使用==

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

|| 表示 OR
&& 表示 和

希望这有帮助!

你可以这样做

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

最新更新