Как создать простой экран входа в Xcode? - PullRequest
0 голосов
/ 09 января 2019

Я создаю приложение, которое использует экран входа, который я сделал. Входные данные - это текстовое поле, которое вы вводите в своем имени пользователя. Как мне заставить его отвечать на разные имена пользователей? Например, имя пользователя - Великобритания. Как я могу заставить его ответить, если это или нет «Великобритания»? Я - полный новичок в 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()

    }
}

Я хочу напечатать "Привет" или что-то в этом роде. Я просто хочу, чтобы это отреагировало на:

  1. Если имя пользователя 'UK' и
  2. Если имя пользователя не 'UK'.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы можете сделать это таким образом

 @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
        }
0 голосов
/ 09 января 2019

Вы можете просто использовать == как следует

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

|| означает ИЛИ
&& означает И

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...