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