用户登陆状态,ios开发用户登陆
IOS开发之记录用户登陆状态,ios开发用户登陆
上一篇博客中提到了用CoreData来进行数据的持久
化,CoreData的配置和使用步骤还是挺复杂的。但熟悉CoreData的使用流程后,CoreData还是蛮好用的。今天要说的是如何记录我们用户
的登陆状态。例如微信,QQ等,在用户登陆后,关闭应用在打开就直接登陆了。那么我们在App开发中如何记录用户的登陆状态呢?之前在用PHP或者
Java写B/S结构的东西的时候,我们用Session来存储用户的登陆信息,Session是存在服务器上仅在一次回话中有效,如果要记录用户的登陆
状态,那么会用到一个叫Cookie的东西。Cookie和Session不同,Cookie是存在用户本地的一个文件,Cookie中存的就是用户的登
陆信息,当用户在此登陆时,自动从Cookie中读取用户的登陆信息。
不扯Web的啦,在我们App开发中同样也遇到这要的问题,如何记录用户的登陆状态呢? 用我们的CoreData蛮?
CoreData适合处理大量的数据,一般和TableView来结合起来使用,当然我们可以用CoreData来存储用户的登陆信息,但这不免有点大材
小用,而且用起来也是比较复杂的。那么我们有其他更便捷的方法吗?苹果这么注重用户体验,当然有其他的方法了,就是NSUserDefault.
NSUserDefault设置完值以后要进行同步
NSUserDefault是苹果提供给我们用来存储用户的登陆信息的一个类,当然是持久化的了,废话不多说了。我们就模拟一个用户登陆和注销的demo来学习一下如何使用NSUserDefault来存储用户的登陆信息。
1.首先我们得有一个登陆页面对应的类为ViewController.h,
在登陆页面有两个TextField和一个Button用来接受用户的输入,在点击Button中的回调的方法中,如果用户登陆成功,则把用户信息存入
UserDefault中,然后以模态的方式来跳转到主界面,首先我们要获取UserDefault的单例,登陆页面中的登陆按钮回调的方法代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
2.处理完登陆页面,我们会处理根据UserDefault中的name属性是否有值来选择加载哪个页面。在storybaord中我们默认的是主界面,在AppDelegate.m中如果未登陆,我们会设置一下rootViewController,代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
3.经过上面的代码我们就可以根据用户登陆状态来选择加载的信息,在登陆后的页面中,我们添加一个按钮,用来退出。在退出按钮回调的方法中,我们需要把之前保存的用户信息进行remove掉,同时用模态的方式来跳转到登陆页面,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
下面的截图是在storyboard中的截图,运行出的效果和下面一样,到此我们就可以实现记录用户的登陆状态了
ios开发中怎记录程序退出的时间
你所说的程序退出是退出进程还是按home键退到后台
如果是前者,还真没有什么招来记录
如果是后者,在appdelegate里有个代理方法applicationDidEnterBackground,当按home后,该方法触发
ios开发,怎保存用户名密码
上传服务器保存。。本地plist保存。。Userdefault保存。。sqlite保存
用户登陆状态,ios开发用户登陆的更多相关文章
- IOS开发之记录用户登陆状态,ios开发用户登陆
IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...
- IOS 开发qq登陆界面
// // ViewController.m // QQUI_bydfg // // Created by Kevin_dfg on 16/4/15. // Copyright © 2016年 ...
- iOS开发实现登陆
Assumption假设:iOS端加载Web页,然后用户输入用户名密码登陆,WebServer会把用户登陆信息记载在Cookie.那么iOS客户端如何取到Cookie中的登陆信息. 客户端监听 NSH ...
- iOS开发--用户点击频繁,多个异步网络请求取消问题?
一.业务环境描述 当一个view同时添加两个tableView为subView的时候,两个tableView分别为mainTable和subTable. 当用户点击mainTable上的某一条数据时, ...
- wex5 教程 之 图文讲解 全局可观察变量与登陆状态全局控制
一 先说说,这两个概念是什么意思 全局可观察变量?没听说过,只听过全局变量,那你out了,因为我要充分发挥绑定技术来控制页面部局,组件的隐藏与显示,文字内容,样式改变.看我博文大家知道,我想用绑定技术 ...
- IOS开发之记录用户登陆状态
上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...
- iOS开发之记录用户登录状态
iOS开发之记录用户登录状态 我们知道:CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登陆状态.例如微信 ...
- 前端验证用户登陆状态(vue.js)
首先用户需要进行登陆(请求登陆接口),接口请求成功之后后台会返回对应的用户信息(可以把用户信息存放在浏览器缓存中),并且后台会设置浏览器的cookie值(可以在network->header-& ...
- linux 用户管理修改用户信息、密码状态、删除用户、退出登陆、切换用户
修改用户信息usermoduseradd支持的选项usermod都支持passwd有两个选项-l(在密码串前面加了两个叹号),-u,usermod有两个选项:-L 临时锁定用户(Lock)(在密码串前 ...
随机推荐
- atitit. 分销系统规划p8k
atitit. 分销系统规划p8k 1. 商户平台管理 overview2 1.1. 分销业务管理2 1.2. 文案管理2 1.3. 订单管理3 1.4. 统计报表3 1.5. 财务结算3 1.6. ...
- windows编译tensorflow c++库
1. 准备 windows 10系统.3.6GHz cpu.16G 内存 visual studio 2017 or 2015 下载安装git 下载安装cmake 下载安装swigwin 如果不需要p ...
- python django中使用sqlite3数据库 存储二进制数据ByteArray
在python中使用sqlite3数据库存储二进制流数据ByteArray,在django使用sqlite3数据库时,有时候也要注意最好使用二进制流ByteArray插入字符串. 使用ByteArra ...
- c# 字符串排序 (面试题)
将一些字符串,如: "bc", "ad", "ac", "hello", "xman", " ...
- spring mvc中拦截器配置mvc:interceptors
其实在mvc:interceptors标签中,有两种类型的配置,一种直接配置一个bean(bean和ref归为一类),另一种还要配置上拦截的路径和排除的路径.直接配置的bean那就代表对所有的请求进行 ...
- HTML5之语音识别实例
HTML5之语音识别实例 代码 <input type="text" x-webkit-speech id="d1" lang="zh-CN& ...
- Java Web应用服务器Resin 国内下载
在做 PHP On Jvm的测试,发现Resin很难下,速度太慢. 下载地址:http://pan.baidu.com/s/1qWyffnY
- node.js安装与入门使用
一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 的包管理器 npm,是全球最大的开源库生态系统. 提供事件驱动和非阻塞I/O API,可优化应用程序的吞吐量和规 ...
- JQ实现小火箭效果
点击返回顶部以动画方式返回 $(function(){ $(window).scroll(function(){ //当滚动距离超过50后,显示按钮: ...
- 金典 SQL笔记(9)
page301-354其它解决方式 ---开窗函数 --測试数据及表 USE [NB] GO /****** 对象: Table [dbo].[T_Person2] 脚本日期: 08/14/2015 ...