IOS NSUserDefault 記住用戶名及密碼功能的實(shí)例代碼
一般的登錄界面都會(huì)有一個(gè)記住密碼的選項(xiàng),要實(shí)現(xiàn)這個(gè)功能可以使用NSUserDefault,這里只是講解明文的處理方式,雖然這樣是有一定的風(fēng)險(xiǎn)性的但是目前只是了解如何實(shí)現(xiàn)這個(gè)功能:
首先聲明一個(gè)NSUserDefault對(duì)象:
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í)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS實(shí)現(xiàn)帶指引線的餅狀圖效果(不會(huì)重疊)
餅狀圖對(duì)大家來說應(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à)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03iOS block循環(huán)引用詳解及常見誤區(qū)
這篇文章主要介紹了iOS block循環(huán)引用詳解和應(yīng)用,常見誤區(qū)詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08iOS Xcode升級(jí)Xcode15報(bào)錯(cuò)SDK does not contain
這篇文章主要為大家介紹了iOS Xcode 升級(jí)Xcode15報(bào)錯(cuò): SDK does not contain 'libarclite'解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11IOS開發(fā)自定義Button的外觀和交互行為示例詳解
這篇文章主要為大家介紹了IOS開發(fā)自定義Button的外觀和交互行為示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02iOS應(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