Процедура авторизации пользователя
Итак ниже приведена вариация базы данных пользователей и реализация авторизации пользователя по паролю.
// // proSwift.ru // struct User { let login: String let password: String static func login(login:String, password: String) -> User? { if let user = database[login] { if user.password == password { return user } } return nil } static let database: Dictionary<String, User> = { var theDatabase = Dictionary<String, User>() for user in [ User(login: "user1", password: "pass1"), User(login: "user2", password: "pass2"), User(login: "user3", password: "pass3"), User(login: "user4", password: "pass4"), ] { theDatabase[user.login] = user } return theDatabase }() }
База данных — это словарь, в котором ключи — это имя пользователя login, а значения — экземпляры структуры User.
Метод login — метод типа ( отмечен ключевым словом static) — т.е. он принадлежит всей структуре, а не конкретному экземпляру. Но этот метод возвращает конкретный экземпляр пользователя, который ввел верно свой логин и пароль.
Где-то далее в коде контроллере пользователь будет реализован следующим образом:
// // proSwift.ru // var loggedInUser: User? func login() { loggedInUser = User.login(//здесь строка с логином, password: // здесь строка с паролем) }
Добавить комментарий