的NSMutableDictionary數據,我有兩個UITextField
文件不儲蓄錯誤的文件目錄
- 電子郵件
- 密碼
這兩個字段的值存儲在一個NSMutableDictionary
電話userData
。現在我想將這兩個字段值保存在一個文件中,以便記錄保留在那裏,並且我可以恢復此記錄以正確檢查用戶登錄。在這裏我想完成那個,但不工作。
我的代碼:
-(void) saveRegistrationData
{
userData = [[NSMutableDictionary alloc]
initWithObjects:[[NSMutableArray alloc] initWithObjects:@"123456", nil]
forKeys:[[NSMutableArray alloc] initWithObjects:@"[email protected]", nil]];
[userData setObject:passwordTextField.text forKey:emailTextField.text];
NSString *savePath = [@"/MediaFiles/Documents/" stringByExpandingTildeInPath];
[userData writeToFile: savePath atomically: YES];
//[userData writeToFile:@"MediaFiles/Documents/" atomically:YES];
for (id key in userData)
{
NSLog(@"%@ is for %@", key, [userData objectForKey:key]);
}
}
我覺得path
沒有正確設置。如果有任何類似的解決方案,請與我分享。先謝謝了。祝你有美好的一天。
感謝您的好解釋。實際上,我嘗試了其他許多選項,如'/ MediaFiles/Documents/dnt_lk_at_dis.txt',但它們都沒有工作。除此之外,我還看到了一些關於它的教程。如何使用plist在其中存儲數據。但是,對我來說看起來有點複雜。如果我使用'NSSearchPathForDirectoriesInDomains',那麼在轉到庫後,假設我找到'secret.txt'文件,檢查數據是否真的在那裏保存?感謝分享安全問題,我會努力工作。 – Tulon
@Tulon由於我提到的第一個問題,該路徑將不起作用,我發佈的代碼將可以工作。您可以通過NSLog(@「%@」,filePath)'查看它是否寫入磁盤,然後進入Finder中的包含文件夾(在iOS模擬器上運行應用程序) –
是的,您太棒了。它正在工作,我發現'secret.txt'跟蹤'NSLog'目錄。但是現在我明白了一點,在'NSMutableDictionary'中,以前的數據不會像數據庫那樣保存。當我給出輸入時,我以前的記錄已經從'secret.txt'中消失了,並且取代了最新的記錄。這意味着我不能使用'NSMutableDictionary'作爲數據庫,不是嗎? – Tulon