2016-09-07 42 views
0

我想知道如何在用戶從UITextField的移動電話中輸入內容時保存用戶的輸入?如何在UITextField中保存用戶的輸入?

如果我只是使用文本字段並運行應用程序,我可以在文本字段中輸入數據,但是當我關閉應用程序時數據不見了。那麼,如何將這些數據永久存儲並在應用程序關閉並重新打開後再次顯示。有什麼方法可以保存嗎?

+1

許多方法。也許從最簡單的起點看'NSUserDefaults'。 –

+0

使用'NSUserDefault'來存儲數據。 – Gokul

+0

對於那個 – jose920405

回答

0

嘗試這樣的:

-(void)viewDidDisappear:(BOOL)animated 
    { 
     [[NSUserDefaults standardUserDefaults]setObject:self.urtextfield.text forKey:@"savedtext"]; 
    } 
    -(void)viewWillAppear:(BOOL)animated 
    { 
     self.urtextfield.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"savedtext"]; 
    } 
1

我們可以將數據保存到3個數據的基礎

如果你想存儲單個數據到數據庫中,可以使用

NSUserDefault

對於店鋪

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:textView.text forKey:@"textviewdata"]; 
[defaults synchronize]; 

對於檢索

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *strTextViewText = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"textviewdata"]]; 

然後存儲的數據量較大,我們可以使用

SQLite

CoreData

1

這裏有一些方法來節省內部應用程序數據。

  1. 使用sqlitecoredata都提供facilty保存本地數據,使用前請找到使用這些數據庫的不同情況建立本地數據庫。
  2. 使用NSUserDefaluts但沒有推測,因爲NSUserDefaults並不意味着存儲敏感信息以獲取更多信息see imp link請參閱示例,如果您還在。

要使用NSUserDefaluts存儲數據:

[[NSUserDefaults standardUserDefaults]setObject:self.textfield.text forKey:@"yourKey"]; 

隨時隨地獲取裏面的應用數據:

object = [[NSUserDefaults standardUserDefaults] valueForKey:@"yourKey"]; 
2

首先,你應該保存的文本,當用戶沒有修改用戶關閉應用程序之前, (例如由NSUserDefaults保存):

self.yourTextView.delegate = self; 

- (void)textViewDidChange:(UITextView *)textView 
{ 
    if (textView.markedTextRange == nil) 
    { 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
     [defaults setObject:textView.text forKey:@"userText"]; 
     [defaults synchronize]; 
    } 
} 

然後,在用戶再次打開應用程序時加載用戶保存的文本:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.yourTextView.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"userText"]; 
} 
+0

非常感謝 – user45524

相關問題