swift-UserDefaults控制账号和密码
import UIKit
class FiveVC: UIViewController {
//MARK:-------- 全局 常量 设置
let IsFirstLaunch = "IsFirstLaunch"
let UserName = "UserName"
let UserPwd = "UserPwd"
var nameField = UITextField()
var PwdField = UITextField()
override func viewDidLoad() {
super.viewDidLoad()
nameField = UITextField(frame:CGRect(x:,y:,width:,height:))
nameField.backgroundColor = UIColor.cyan
nameField.placeholder = "请输入姓名"
nameField.borderStyle = UITextBorderStyle.roundedRect
self.view.addSubview(nameField)
PwdField = UITextField(frame:CGRect(x:,y:,width:,height:))
PwdField.backgroundColor = UIColor.cyan
PwdField.placeholder = "请输入密码"
PwdField.borderStyle = UITextBorderStyle.roundedRect
self.view.addSubview(PwdField)
let keetBtn = UIButton.init()
keetBtn.frame = CGRect(x:,y:,width:,height:)
keetBtn.backgroundColor = UIColor.cyan
keetBtn.setTitle("保存", for: UIControlState.normal)
keetBtn.setTitleColor(UIColor.black, for: UIControlState.normal)
keetBtn.addTarget(self, action: #selector(pressKeepBtn), for: UIControlEvents.touchUpInside)
self.view.addSubview(keetBtn)
let reduceBtn = UIButton.init()
reduceBtn.frame = CGRect(x:,y:,width:,height:)
reduceBtn.backgroundColor = UIColor.cyan
reduceBtn.setTitle("清空", for: UIControlState.normal)
reduceBtn.setTitleColor(UIColor.black, for: UIControlState.normal)
reduceBtn.addTarget(self, action: #selector(pressReduceBtn), for: UIControlEvents.touchUpInside)
self.view.addSubview(reduceBtn)
let userName = LCDUserDefaultsGet(key: UserName) as! String
let userPwd = LCDUserDefaultsGet(key: UserPwd) as! String
print("\(userName):\(userPwd)")
if userName.characters.count > {
freshDate(isOk: true, userName: userName, userPwd: userPwd)
}
/*
//obj 为bool值的时候 调用
if LCDUserDefaultsBool(key: UserName) {
let userName = LCDUserDefaultsGet(key: UserName) as! String
let userPwd = LCDUserDefaultsGet(key: UserPwd) as! String
print("\(userName):\(userPwd)")
}
print(LCDUserDefaultsBool(key: UserName))
*/
}
//刷新数据
func freshDate(isOk:Bool, userName:String, userPwd:String){
if isOk {
nameField.placeholder = ""
nameField.text = userName
PwdField.placeholder = ""
PwdField.text = userPwd
}else{
nameField.placeholder = "请输入姓名"
nameField.text = ""
PwdField.placeholder = "请输入密码"
PwdField.text = ""
}
}
//保存数据
func pressKeepBtn(){
if nameField.text?.characters.count == {
alterShow(titles: "请输入姓名")
return
}
if PwdField.text?.characters.count == {
alterShow(titles: "请输入密码")
return
}
LCDUserDefaultsSet(key: UserName,obj: nameField.text as AnyObject)
LCDUserDefaultsSet(key: UserPwd,obj: PwdField.text as AnyObject)
LCDUserDefaultsSyn()
let userName = LCDUserDefaultsGet(key: UserName) as! String
let userPwd = LCDUserDefaultsGet(key: UserPwd) as! String
freshDate(isOk: true, userName: userName, userPwd: userPwd)
alterShow(titles: "数据已保存成功")
}
//清空数据
func pressReduceBtn(){
LCDUserDefaultsSet(key: UserName,obj: "" as AnyObject)
LCDUserDefaultsSet(key: UserPwd,obj: "" as AnyObject)
LCDUserDefaultsSyn()
freshDate(isOk: false, userName: "", userPwd: "")
alterShow(titles: "数据已清空成功")
}
//MARK:------------- LCDUserDefaults
//保存
func LCDUserDefaultsSet(key:String, obj:AnyObject) -> Void {
return UserDefaults.standard.set(obj, forKey: key)
}
//获取
func LCDUserDefaultsGet(key:String) -> AnyObject {
return UserDefaults.standard.value(forKey: key)! as AnyObject
}
//删除
func LCDUserDefaultsRemo(key:String) -> Void {
UserDefaults.standard.removeObject(forKey: key)
}
//判断bool 类型的值
func LCDUserDefaultsBool(key:String) -> Bool {
return UserDefaults.standard.bool(forKey: key)
}
func LCDUserDefaultsSyn() {
UserDefaults.standard.synchronize()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func alterShow(titles:String){
let alertController = UIAlertController(title: "提示",
message: titles, preferredStyle: UIAlertControllerStyle.alert)
let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.cancel, handler: nil)
let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.default,
handler: {
action in
print("点击了确定")
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)
}
}
swift-UserDefaults控制账号和密码的更多相关文章
- (转)mysql账号权限密码设置方法
原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...
- VSS每次打开都需要服务器账号和密码的解决方法
最近在做的一个项目还在使用非常非常古老的VSS(Microsoft Visual SourceSafe)2005,是的,没有看错,是VSS2005,而不是Git或是SVN.然后我的VSS在安装过后遇到 ...
- livezilla账号或密码修改方法
livezilla的账号和密码不在数据库,保存在php文件里面. 今天想修改一下网站livezilla系统管理员账号和密码,去数据库找了半天没找到,推测可能是存在文件中.搜索了一下,果然是在livez ...
- Django忘记管理员账号和密码的解决办法
看着Django的教程学习搭建网站,结果忘记第一次创建的账号和密码了.结果搭建成功以后,一直无法登陆到管理页面,进行不下去了. 如图所示: 在网上找了很多的方法都不行,最后使用新建一个superuse ...
- (转) mysql的连接,创建账号,修改密码
原文:http://blog.chinaunix.net/uid-20749043-id-1878306.html mysql的连接,创建账号,修改密码 2008-10-13 15:31:29 分类 ...
- linux杂记(十二?) 关于账号和密码的二三事
关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...
- 忘记Django登陆账号和密码的处理方法
Reference: http://nolinux.blog.51cto.com/4824967/1743392 公司部署了一套分布式网络监控系统,使用celery来做的分布式任务队列,针对celer ...
- 假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?
假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?#!/bin ...
- eureka注册中心列表页面加账号和密码
正常情况下,注册中心服务启动后,页面是这样的,如下图所示 这样的话,如果注册中心不再内网地址下,有可能就会泄露所有的服务地址信息,增加受攻击的风险,针对这个问题咱们可以这样解决 首先注册中心pom.x ...
随机推荐
- [BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
[BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 试题描述 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发 ...
- h5页面 禁止缩放
<head><meta name="viewport" content="width=device-width,minimum-scale=1.0,ma ...
- PHP array 操作函数
array_map 函数的介绍 将数组的每个单元使用回调函数格式: array_map(callback, array) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- python __call__ 内置函数的使用
对象通过提供__call__(slef, [,*args [,**kwargs]])方法可以模拟函数的行为, 如果一个对象x提供了该方法,就可以像函数一样使用它,也就是说x(arg1, arg2... ...
- How to install OpenBazaar Server in CentOS7
helps from: https://github.com/OpenBazaar/OpenBazaar-Server http://stackoverflow.com/questions/24917 ...
- servlet 之 response 回复 字节流 字符流
重定向 设置状态吗为302 添加响应头Location(告诉他重定向到哪里去) //response.setStatus(302); //添加响应头Locatio ...
- ubuntu下安装mcrypt
sudo apt-get install libmcrypt4 php5-mcrypt 一句命令搞定
- linux升级openssl
wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz ./config shared zlib-dynamicconfig完成后执行 ma ...
- VR技术的探索阶段
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 早在1929年,在长期使用教练机训练器(机翼变短,不能产生离开地面所需的足够提升力)进行飞行训练之后,E ...
- phpcms调用一个指定的栏目的url和栏目名称
{$CATEGORY[$catid]['url']} 指定栏目URL代码 {$CATEGORY[$catid]['catname']} 指定栏目名称代码 {$CATEGORYS[41]['url']} ...