ios - 是否可以快速构建自定义用户名、密码和电子邮件验证码?(不包括火力基地)
问题描述
作为我正在构建的应用程序的一部分,我希望我的用户通过用户名、密码和电子邮件身份验证来访问该应用程序。
我想编写自己的代码来练习而不是依赖 Firebase。
PS:我正在使用 Xcode 和 swift。
为此,我构建了一个包含用户名、电子邮件和密码变量的类。在相应的视图控制器中,我有一个按钮,按下时会执行以下操作。
- 从我提到的类创建一个新对象
- 当用户创建新帐户时,从 textField 中提供用户名、密码和电子邮件的属性(即:class.username = usernameTextfield.text)
- 将此新对象添加到仅包含该类中的对象的数组中
- 将数组保存在用户默认值中。
这是我的代码
- 在一个单独的 swift 文件中(模型)
import Foundation
import UIKit
// on cree une classe qui contient les differents elements necessaires pour creer un profil
class SignUpDataModel {
//user name
var username: String = ""
var email: String = ""
var password: String = ""
//autres details specifiques au profil utilisateur
var nationality: String = ""
}
- 在视图控制器文件中
@IBOutlet weak var userNameTextField: UITextField!
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
// on cree un tableau qui va contenir nos donnees sauvegardees de type SignUpDataModel
var savedNewUserData = [SignUpDataModel]()
// on cree une variable user defaults
let defaults = UserDefaults.standard
// on cree une variable qui va contenir la clé qu'on va utiliser en sauvegardant les donnees dans user defaults
var userDefaultsKey: String = "NewUserData"
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
@IBAction func NewProfileButton(_ sender: UIButton) {
//chaque fois qu'on clique sur ce bouton
// on appelle la fonction qui gere un nouvel utilisateur créé
newUserCreation()
// ensuite on fait le segue vers le user profile VC
}
//MARK: - Function that handles signing Up whenever you tap on the sign un button
func newUserCreation() {
// on cree un nouvel objet de type signUpDataModel
let newProfile = SignUpDataModel()
// on lui donne des valeurs pour username, email et password
newProfile.username = userNameTextField.text!
newProfile.email = emailTextField.text!
newProfile.password = passwordTextField.text!
// on l'ajoute au tableau savedNewUserData
savedNewUserData.append(newProfile)
// et on sauvegarde le tout dans user defaults
defaults.set(savedNewUserData, forKey: userDefaultsKey)
// on a une alerte :
print("success: username:\(newProfile.username), password:\(newProfile.password), email:\(newProfile.email) have beed successfully added to user defaults")
}
解决方案
推荐阅读
- java - 是否可以动态地将数据从数据库中提取到 java 中?
- sql - NetSuite 使用 CAST 和自定义字段保存搜索公式时出错
- awesome-wm - 有没有办法监控 awesome-wm 中可见客户列表的变化?
- javascript - 使用 FullCalendar 显示事件数组
- hl7-fhir - 在 XML 和 Json 之间转换 fhir
- sql - SQL - ROW_NUMBER 用于多条件 LEFT JOIN
- typescript - Typescript 接口继承和泛型类型推断
- vba - 基于登录信息的控制表单
- python - MSYS 上的 PyQtWebEngine
- excel - 列底部的自动求和