我在一个视图控制器中有三个文本字段,我想保存用户放置的每个输入 我不知道如何保存数据,所以我需要帮助。三条信息使用户创建帐户。用户将使用它登录他的帐户。我需要制作一组文本字段吗?如果是这样,怎么样?
答案 0 :(得分:0)
您应该使用KeychainItemWrapper
类来存储安全数据
首先在此github link下载 .h 和 .m 文件。
现在通过拖放将它们添加到项目中。别忘了这样做:
在您的应用中,导航至
Build phases -> Link Libraries
并添加 Security.framework
现在,在viewController
的实施文件中,导入刚刚添加的课程。
#import "KeychainItemWrapper.h"
假设您有三个textField
用于输入用户名 电子邮件和密码,您可以为它们创建出口:
@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];
注意:强>
希望这有帮助! :)