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

