iPhone-从文件保存和加载用户的登录信息

| 大家好,我在尝试保存用户的登录名(电子邮件)和密码(字符/数字)时遇到了一些问题。这些都是NSStrings的UITextFields。 我现在在视图末尾设置了它,然后将其解雇为
[email writeToFile:@\"Login\" atomically:YES encoding:NSUTF8StringEncoding error:&error];
[password writeToFile:@\"Password\" atomically:YES encoding:NSUTF8StringEncoding error:&error];
但是,我不确定在加载视图时如何去加载这些。 我尝试在视图加载开始时这样做:
NSString *email;
NSString *password;
NSError *error;
NSString *em = [[NSString alloc] initWithContentsOfFile:@\"Login\" encoding:NSUTF8StringEncoding error:&error]; 
NSString *pass = [[NSString alloc] initWithContentsOfFile:@\"Password\" encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
   userEmail.text = em;
   userPassword.text = pass; 
}

email = userEmail.text;
password = userPassword.text;
但是,我实际上无法获取这两个文件中的数据。是因为我必须拥有该文件的完整路径吗?另外,有没有办法将它们都保存到一个文件中(NSMutableDictionary)?任何建议将是巨大的! 亚历克斯     
已邀请:
您不应将用户的凭据以纯文本格式存储在文件中。如果手机丢失或被黑客入侵,可以轻松读取。 更好的方法是将信息安全地存储在iPhone钥匙串中。这将为您处理加密/解密,并且比您可能自己写的内容更安全。 SFHFKeychainUtils是一种可以简化使用钥匙串的库。这将为您提供在模拟器以及设备上均可使用的抽象。     
您可能想要查看NSUserDefaults,但是要回答您的问题,您可能想要指定路径。 获取路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@\"%@/Login\", docDir];
保存:
[em writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
加载: NSString * em = [[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error]; 不要忘记[em release]以避免内存泄漏!     

要回复问题请先登录注册