2017-02-03 3 views
-2

Я хочу войти в систему с массивом. У меня есть 2 имени пользователя и пароль пользователя. Я могу проверить, если, но я должен использовать для цикла, потому что, если у меня много пользователей, это может быть проблемой для меня. это мой код;Вход с массивом?

@IBAction func LoginButton(_ sender: Any) { 


    if _username.text == userNameArr[1] && _password.text == passwordArr[1]{ 

     print("login successful") 
     performSegue(withIdentifier: "login", sender: self) 
    } 

    else if _username.text == userNameArr[0] && _password.text == passwordArr[0]{ 

     print("login successful") 
     performSegue(withIdentifier: "login", sender: self) 
    } 

    else { 
     self.createAlert(titleText: "error!", messageText: "user name or password wrong!") 

     print("login unsuccessful") 
     print(userNameArr[1],passwordArr[1]) 
     print(userNameArr[0],passwordArr[0]) 

    } 

Как я могу проверить его на петлю или другим способом? если у меня более двух пользователей (может быть, 100), я не могу это проверить. я жду твоей помощи.

ответ

0

Вот в основном, как вы реорганизовать кусок кода для цикла.

  1. Найти образец. Это может быть число, которое постоянно увеличивается или уменьшается. В этом случае индексы увеличение:

    else if _username.text == userNameArr[0] && _password.text == passwordArr[0]{ 
    //         ^        ^
    
  2. Написать для цикла, что петли от начала рисунка, до конца узора. В этом случае, вы начинаете с 0 и заканчивается при подсчете массива - 1.

    for i in 0..<userNameArr.count { 
    
    } 
    
  3. Положите один элемент в структуре внутри для цикла и удалить все остальное в шаблоне.

    for i in 0..<userNameArr.count { 
        if _username.text == userNameArr[0] && _password.text == passwordArr[0]{ 
    
         print("login successful") 
         performSegue(withIdentifier: "login", sender: self) 
        } 
    } 
    
  4. Заменить все большее число с i:

    for i in 0..<userNameArr.count { 
        if _username.text == userNameArr[i] && _password.text == passwordArr[i]{ 
    
         print("login successful") 
         performSegue(withIdentifier: "login", sender: self) 
        } 
    } 
    
  5. Используйте здравый смысл, чтобы поместить код, который не в шаблоне в этом.

    var loggedIn = false 
    for i in 0..<userNameArr.count { 
        if _username.text == userNameArr[i] && _password.text == passwordArr[i]{ 
    
         print("login successful") 
         performSegue(withIdentifier: "login", sender: self) 
         loggedIn = true 
         break 
        } 
    } 
    if !loggedIn { 
        self.createAlert(titleText: "error!", messageText: "user name or password wrong!") 
    
        print("login unsuccessful") 
        print(userNameArr[1],passwordArr[1]) 
        print(userNameArr[0],passwordArr[0]) 
    } 
    
+0

поблагодарить у так много. он сработал! :) –

0
for index in userNameArr.count{ 
    if _username.text == userNameArr[i] && _password.text == passwordArr[i]{ 

     print("login successful") 
     performSegue(withIdentifier: "login", sender: self) 

перерыв }

else { 
     self.createAlert(titleText: "error!", messageText: "user name or password wrong!") 

     print("login unsuccessful") 
     print(userNameArr[i],passwordArr[i]) 

    } 
    } 
Смежные вопросы