我正在制作一个使用我制作的登录屏幕的应用程序。输入是您键入用户名的文本字段。如何让它响应不同的用户名?例如,用户名为英国。我如何让它响应它是或不是"英国"?我是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()
}
}
我希望它打印"嗨"或其他东西。我只是想让它对以下内容做出反应:
- 如果用户名是"英国",并且
- 如果用户名不是"英国"。
您可以简单地使用==
@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
}