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

Swift 如何在Xcode中创建一个简单的登录屏幕?,swift,xcode,login,Swift,Xcode,Login,我正在制作一个使用我制作的登录屏幕的应用程序。输入是您在用户名中键入的文本字段。如何使其响应不同的用户名?例如,用户名是UK。如果它是或不是“英国”,我如何让它做出响应?我是一个完全的Xcode初学者,所以你能带我走过这些步骤吗 我试着使用我在视频中看到的if(Username!.text,isEqual:“Hello”),但是出现了一个错误,说: “(String?,isEqual:String)”不能转换为“Bool” 我不知道这意味着什么,也不知道如何避开它 import UIKit

我正在制作一个使用我制作的登录屏幕的应用程序。输入是您在用户名中键入的文本字段。如何使其响应不同的用户名?例如,用户名是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()

    }
}
我要打印“嗨”之类的。我只想让它对以下情况做出反应:

  • 如果用户名为“UK”,并且
  • 如果用户名不是“UK”

  • 您只需按如下方式使用
    ==

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


    希望这有帮助

    你可以这样做

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

    您可能正在使用objective c观看视频,并试图将其转换为swift。如果我没记错的话,在你不得不执行
    string.isEqual(to:someOtherString)
    之前,因为在某一点上,
    string==someOtherString
    检查的是内存地址,而不是字符串。现在(在我记忆中),您可以对字符串使用
    =
    ,它将检查它们的内容。另外,您的
    if string==someOtherString
    语句不需要用括号括起来
    ()
    唯一需要使用括号的时候是为了消除歧义。我尝试了if Str.containsString(Self.signIn!.text!)但它一直对我说‘字符串类型的值没有成员’‘containsString’@UnluckyKitty130我想你使用的是swift4。在swift 4中可以这样做:var string=“UK”if string.contains(self.Username!.text!){print(“Hi”)//检查文本字段是否包含“UK”}旧版本swift的前一个字段。此外,在扩展方式中,扩展字符串{func contains(find:String)->Bool{return self.range(of:find)!=nil}}var value=“Hello world”print(value.contains(“Hello”)//返回true:put值作为您的textfield.text打印(value.contains(“bo”)//false