IOS NSUserDefault 記住用戶名及密碼功能的實(shí)例代碼
一般的登錄界面都會(huì)有一個(gè)記住密碼的選項(xiàng),要實(shí)現(xiàn)這個(gè)功能可以使用NSUserDefault,這里只是講解明文的處理方式,雖然這樣是有一定的風(fēng)險(xiǎn)性的但是目前只是了解如何實(shí)現(xiàn)這個(gè)功能:
首先聲明一個(gè)NSUserDefault對象:
let userDefaults = NSUserDefaults.standardUserDefaults() //本地操作所需
然后根據(jù)是否記住密碼按鈕的狀態(tài)來判斷是否要為用戶名和密碼設(shè)置值,如果是記住密碼,那么需要取出需要記住的密碼,并且為這兩個(gè)TextField賦值。
在viewDidLoad方法中添加如下代碼:
///檢查記住密碼標(biāo)記,如果為YES,那么就讀取用戶名和密碼并為TextField賦值
///并將圖標(biāo)背景設(shè)置為記住狀態(tài),如果為NO,那么設(shè)置背景為未記住狀態(tài)
if(userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setBool(true, forKey: "isRememberPsd")
isRemberPW.setBackgroundImage(UIImage(named: "pwd_checked.png"), forState: .Normal)
self.UserName.text = userDefaults.stringForKey("userName")
self.PassWord.text = userDefaults.stringForKey("userPsw")
}else if(!userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setBool(false, forKey: "isRememberPsd")
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal)
}
在登錄按鈕的點(diǎn)擊事件中添加如下代碼:
if(userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setValue(userName, forKey: "userName")
userDefaults.setValue(userPsw, forKey: "userPsw")
}
如果為記住密碼的狀態(tài),那登錄前需要將用戶名和密碼寫入到本地。
記住密碼按鈕的點(diǎn)擊事件的處理:
//讀取本地的key為“isRememberPsd”的狀態(tài),YES代表記住密碼,NO代表不記住
///如果YES,再次點(diǎn)擊就需要將圖片設(shè)置為未記住的樣式并改變key的值。
if(userDefaults.boolForKey("isRememberPsd"))
{
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal)
userDefaults.setBool(false, forKey: "isRememberPsd")
}
else
{
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_checked.png"), forState: .Normal)
userDefaults.setBool(true, forKey: "isRememberPsd")
}
userDefaults.synchronize()
這樣一個(gè)基本的記住密碼,并且再下次登錄時(shí)會(huì)自動(dòng)的為其寫入用戶名和密碼的功能就實(shí)現(xiàn)了
總結(jié)
以上所述是小編給大家介紹的IOS NSUserDefault 記住用戶名及密碼功能的實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS實(shí)現(xiàn)帶指引線的餅狀圖效果(不會(huì)重疊)
餅狀圖對大家來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)帶指引線的餅狀圖效果(不會(huì)重疊)的相關(guān)資料,文章通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
解決蘋果ios用js的Date()出現(xiàn)NaN的問題
下面小編就為大家分享一篇解決蘋果ios用js的Date()出現(xiàn)NaN的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
iOS block循環(huán)引用詳解及常見誤區(qū)
這篇文章主要介紹了iOS block循環(huán)引用詳解和應(yīng)用,常見誤區(qū)詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
iOS Xcode升級Xcode15報(bào)錯(cuò)SDK does not contain
這篇文章主要為大家介紹了iOS Xcode 升級Xcode15報(bào)錯(cuò): SDK does not contain 'libarclite'解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
IOS開發(fā)自定義Button的外觀和交互行為示例詳解
這篇文章主要為大家介紹了IOS開發(fā)自定義Button的外觀和交互行為示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
iOS應(yīng)用中存儲(chǔ)用戶設(shè)置的plist文件的創(chuàng)建與讀寫教程
這篇文章主要介紹了iOS應(yīng)用中存儲(chǔ)用戶設(shè)置的plist文件的創(chuàng)建與讀寫教程,plist文件是在Xcode下的項(xiàng)目中會(huì)被自動(dòng)生成,里面采用XML格式記錄數(shù)據(jù),需要的朋友可以參考下2016-04-04

