0
我在一個視圖控制器中有三個文本字段,我想保存保存用戶放置的每個輸入。
我不知道如何保存數據,所以我需要幫助。這是用戶創建帳戶的三條信息。用戶將使用它來登錄他的賬戶。我是否需要製作一組文本字段?如果是這樣,怎麼樣?將數據保存在應用程序中並在iOS編程中加載?
我在一個視圖控制器中有三個文本字段,我想保存保存用戶放置的每個輸入。
我不知道如何保存數據,所以我需要幫助。這是用戶創建帳戶的三條信息。用戶將使用它來登錄他的賬戶。我是否需要製作一組文本字段?如果是這樣,怎麼樣?將數據保存在應用程序中並在iOS編程中加載?
您應該使用KeychainItemWrapper
類來存儲安全數據。
首先在此github link下載.h和.m文件。 現在通過拖放將它們添加到您的項目中。不要忘記這樣做:
在你的應用程序中,導航到
Build phases -> Link Libraries
並添加Security.framework
。
現在在您的viewController
的實施文件中,導入您剛纔添加的類。
#import "KeychainItemWrapper.h"
假設你有三個textField
S代表進入用戶名電子郵件和密碼,你爲他們創造網點爲:現在
@property (weak, nonatomic) IBOutlet UITextField *userNameTextField;
@property (weak, nonatomic) IBOutlet UITextField *passwordTextField;
@property (weak, nonatomic) IBOutlet UITextField *emailTextField;
,在你signUpButtonClick
方法,你可以存儲這些字段使用以下代碼:
- (IBAction)signUpButtonClick:(id)sender
{
[keychainItem setObject:self.emailTextField.text forKey:(__bridge id)kSecAttrService];
[keychainItem setObject:self.passwordTextField.text forKey:(__bridge id)kSecValueData];
[keychainItem setObject:self.userNameTextField.text forKey:(__bridge id)kSecAttrAccount];
}
以後,如果你想獲取這些領域,你可以簡單地用下面的代碼讓他們:
NSString *email = [keychainItem objectForKey:(__bridge id)kSecAttrService];
NSString *password =
[[NSString alloc] initWithData:[keychainItem objectForKey:(__bridge id)kSecValueData] encoding:NSUTF8StringEncoding];
NSString *username = [keychainItem objectForKey:(__bridge id)kSecAttrAccount];
注:
希望這會有所幫助! :)
對非安全信息使用'NSUserDefaults',並使用鑰匙串獲取安全信息。 –
[iOS:如何在應用程序中存儲用戶名/密碼?](http://stackoverflow.com/questions/6972092/ios-how-to-store-username-password-within-an-app) –