2011-09-11 106 views
0

您好,誰能幫助我如何保存輸入到登錄頁面的文本字段的登錄詳細信息應保存在文本文件中,當提交按鈕被點擊時,我也想檢索登錄詳細信息保存在文本文件....請建議我一些解決方案在iphone中保存登錄詳細信息到文本文件

+1

爲什麼不使用CoreData或NSUserDefaults的? –

+0

好心,你能否詳細解釋一下 – bindu

回答

1

這樣做真的不安全。 NSUserDefaults或Core Data更強大;你也可以考慮加密功能。但是如果你必須保存到一個文本文件,你可以使用NSString的[writeToFile:atomically:encoding:error][1]方法。你傳遞一個文件的路徑,一個BOOL指定它是否應該被原子寫入,一個指定文本編碼的編碼常量,以及一個指向NSError的指針,如果你想要錯誤的細節。

您可以使用輸入文本字段的text屬性來獲取文本。

0

如果你想不確定地做,那麼你在這裏;就像@ Inspire48提到

// Saving the login details 

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; 
NSUserDefaults *defaults1=[NSUserDefaults standardUserDefaults]; 

NSString* Username = UsernameBox.text; 
[defaults setObject:Username forKey:@"UsernameKey"]; 
NSString* temp = [defaults objectForKey:@"[UsernameKey"]; 

NSString* Password = PasswordBox.text; 
[defaults1 setObject:Password forKey:@"PasswordKey"]; 
NSString* temp1 = [defaults1 objectForKey:@"[PasswordKey"]; 

[defaults synchronize]; 
[defaults1 synchronize]; 

// Loading the login details 

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; 
NSUserDefaults *defaults1=[NSUserDefaults standardUserDefaults]; 

NSString* Username = UsernameBox.text; 
NSString* temp = [defaults objectForKey:@"UsernameKey"]; 
UsernameBox.text = temp; 
NSLog(@"Loaded Username: %@", temp); // Recommend removing for security after testing 

NSString* Password = PasswordBox.text; 
NSString* temp1 = [defaults1 objectForKey:@"PasswordKey"]; 
PasswordBox.text = temp1; 
NSLog(@"Loaded Password: %@", temp1); // Recommend removing for security after testing 

或...

我想,如果你希望它是更安全的建議使用加密功能。

感謝,

詹姆斯

+0

Thanq非常多....但是我怎麼把登錄的詳細信息保存到文本文件中使用上面的代碼 – bindu

+0

如果把它們保存到文本文件中就不太安全,建議使用NSUserDefaults來保存細節。 – pixelbitlabs

+0

請問你可以建議我如何使用NSUserDefault編寫或保存登錄信息? – bindu

3

你不應該在UserDefaults保存私有數據。改用KeyChain。

2

您應該將它存儲在鑰匙串中。您可以直接在項目中包含this class, SFHFKeychainUtils和使用方法:

+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;

+ (void) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;

更多細節在這裏:http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code

相關問題