iOS
在Swift中实现用户注册和登录的完整指南
12 分
使用 swift 的登录和用户注册教程 介绍 本节解释了如何通过 back4app 创建一个具有简单用户注册的应用程序,使用 https //www back4app com/product/parse server 。 您可以随时访问我们在此教程中构建的完整项目,位于我们的 https //github com/templates back4app/ios install sdk 。 要完成此快速入门,您需要: https //developer apple com/xcode/ 。 在 back4app 创建的应用程序。 请遵循 https //www back4app com/docs/get started/new parse app ,了解如何在 back4app 创建 parse 应用。 一个连接到 back4app 的 ios 应用程序。 注意: 请遵循 https //www back4app com/docs/ios/parse swift sdk ,以创建一个连接到 back4app 的 xcode 项目。 一个付费的 apple 开发者账户。 让我们开始吧! 按照接下来的步骤,您将能够构建一个可以在 back4app 数据库中进行登录、注册和注销的应用程序。 1 设置并创建您的注册和登录用户界面 打开 xcode,从项目中访问主文件夹,然后打开 viewcontroller swift 文件进行编辑。 在 viewcontroller swift 中,确保通过在文件顶部包含 parse 模块来包含它。 1 import parse 3\ 转到 main storyboard,将四个 uitextfield 拖到主 storyboard 中的 viewcontroller。将文本框居中,并在视图控制器的顶部放置两个,在底部放置两个。再拖两个 uibutton 到视图中,并将它们放在文本框下方。在每个按钮上再拖一个加载指示器。 将顶部按钮的文本设置为“登录”。将底部按钮的文本设置为“注册”。将文本框的文本设置为“用户名”和“密码。” 4\ 接下来,我们将把 storyboard 中的 uitextfield 连接到视图控制器中的属性。将以下属性添加到 viewcontroller swift 的顶部。接下来,转到 storyboard,右键单击每个 uitextfield,点击引用 outlet,然后拖动一条线回到 viewcontroller 图标,并将其设置为相应的字段。signinusernamefield 连接到登录用户名字段,等等… 它应该看起来像这样 1 import uikit 2 import parse 3 4 class viewcontroller uiviewcontroller { 5 6 @iboutlet weak var txtusernamesignin uitextfield! 7 @iboutlet weak var txtpasswordsignin uitextfield! 8 @iboutlet weak var indicatorlogin uiactivityindicatorview! 9 10 @iboutlet weak var txtusernamesignup uitextfield! 11 @iboutlet weak var txtpasswordsignup uitextfield! 12 @iboutlet weak var indicatorsignup uiactivityindicatorview! 13 14 override func viewdidload() { 15 super viewdidload() 16 // do any additional setup after loading the view 17 } 18 19 @ibaction func signin( sender any) { 20 //todo 21 } 22 23 @ibaction func signup( sender any) { 24 //todo 25 } 26 27 } 2 创建登录功能 在登录功能中添加以下代码 1 @ibaction func signin( sender any) { 2 pfuser loginwithusername(inbackground self txtusernamesignin text!, password self txtpasswordsignin text!) { 3 (user pfuser?, error error?) > void in 4 if user != nil { 5 self displayalert(withtitle "login successful", message "") 6 } else { 7 self displayalert(withtitle "error", message error! localizeddescription) 8 } 9 } 10 } 3 创建注册功能 在注册函数中添加以下代码: 1 @ibaction func signup( sender any) { 2 let user = pfuser() 3 user username = self txtusernamesignup text 4 user password = self txtpasswordsignup text 5 6 self indicatorsignup startanimating() 7 user signupinbackground {(succeeded bool, error error?) > void in 8 self indicatorsignup stopanimating() 9 if let error = error { 10 self displayalert(withtitle "error", message error localizeddescription) 11 } else { 12 self displayalert(withtitle "success", message "account has been successfully created") 13 } 14 } 15 } 4 登出 登录时,会创建一个会话对象,指向已登录的用户。如果登录成功,parseuser currentuser() 返回一个用户对象,并在仪表板中创建一个会话对象。否则,如果目标用户名不存在或密码错误,则返回 null。 要进行登出,请按照以下步骤操作: 转到 main storyboard,拖动一个名为“logout”的 uibutton,并在此 uibutton 和 viewcontroller swift 之间添加一个动作。 在此函数中添加以下代码: 1 @ibaction func logout( sender any) { 2 pfuser logout() 3 } 5 应用程序代码 1 import uikit 2 import parse 3 4 class viewcontroller uiviewcontroller { 5 6 @iboutlet weak var txtusernamesignin uitextfield! 7 @iboutlet weak var txtpasswordsignin uitextfield! 8 @iboutlet weak var indicatorsignin uiactivityindicatorview! 9 10 @iboutlet weak var txtusernamesignup uitextfield! 11 @iboutlet weak var txtpasswordsignup uitextfield! 12 @iboutlet weak var indicatorsignup uiactivityindicatorview! 13 14 @iboutlet weak var btnlogout uibutton! 15 16 override func viewdidload() { 17 super viewdidload() 18 } 19 20 @ibaction func signin( sender any) { 21 pfuser loginwithusername(inbackground self txtusernamesignin text!, password self txtpasswordsignin text!) { 22 (user pfuser?, error error?) > void in 23 if user != nil { 24 self displayalert(withtitle "login successful", message "") 25 } else { 26 self displayalert(withtitle "error", message error! localizeddescription) 27 } 28 } 29 } 30 31 @ibaction func signup( sender any) { 32 let user = pfuser() 33 user username = self txtusernamesignup text 34 user password = self txtpasswordsignup text 35 36 self indicatorsignup startanimating() 37 user signupinbackground {(succeeded bool, error error?) > void in 38 self indicatorsignup stopanimating() 39 if let error = error { 40 self displayalert(withtitle "error", message error localizeddescription) 41 } else { 42 self displayalert(withtitle "success", message "account has been successfully created") 43 } 44 } 45 } 46 47 @ibaction func logout( sender any) { 48 pfuser logout() 49 } 50 51 func displayalert(withtitle title string, message string) { 52 let alert = uialertcontroller(title title, message message, preferredstyle alert) 53 let okaction = uialertaction(title "ok", style default) 54 alert addaction(okaction) 55 self present(alert, animated true) 56 } 57 58 } 应用程序的用户界面将类似于以下内容: 6 测试你的应用 运行你的应用并创建几个用户,注册后再尝试登录。 在 https //www back4app com/ 找到你的应用并点击 仪表板 仪表板 > 核心 核心 > 浏览器 浏览器 > 用户 用户 尝试使用同一个用户登录和注销,然后再次登录。 此时,你应该能看到你的用户,如下所示: 注意 使用上面显示的代码,每次你用用户登录时,都会在你的 会话 会话 中打开一个 仪表板 仪表板 , 但是当用户注销时,该特定的 会话 会话 结束。此外,每当发生不成功的登录或注册尝试时,在 parse server 中打开的 会话 会话 会被删除。 完成! 在这个阶段,你可以使用 back4app 通过 parse server 核心功能登录、注册或注销你的应用!