2011-08-15 8 views
0

Iveはこれに関する多くの他の質問をしていましたが(私はたくさんあります)、私の質問を満足させるものはありません。 私は基本的に2つのUITextFieldを含むビューコントローラを持っています。 このページが読み込まれ、ユーザーが数字を入力し、背景をタップしてキーボードを取り除き、値を保存するようにアプリが設計されています。ユーザーがページに戻るたびにテキストフィールドにプレロードされるようにします。 saveDataなどと呼ばれる別のIBActionを作成する必要がありますが、バックグラウンドがタップされたときに自動的に保存することはありますか?また、私はNSUserDefaultsを使用して考えていたデータを保存するために、データを保存する他の方法がありますか? すべてのヘルプは高く評価され、 マイケル私はアプリケーションの編集背景タップ部分については、以下のコードを使用 :UITextField入力を保存する

-(IBAction) textFieldDoneEditing : (id) sender{ 

[sender resignFirstResponder]; 

}

- (IBAction)backgroundTap:(ID)、送信者{

[self.textInputOne resignFirstResponder]; 
[self.textInputTwo resignFirstResponder]; 

}

答えて

3

NSUserDefaultsはこのためにうまく動作します:

-(IBAction) backgroundTap:(id) sender { 

    NSString *inputOne = textInputOne.text; 
    NSString *inputTwo = textInputTwo.text; 

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    [userDefaults setObject:inputOne forKey:@"InputOne"]; 
    [userDefaults setObject:inputTwo forKey:@"InputTwo"]; 

    [textInputOne resignFirstResponder]; 
    [textInputTwo resignFirstResponder]; 
    [sender resignFirstResponder]; 
} 

はその後- (void)viewDidLoadコールバック保存NSUserDefaultsの中で:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
textInputOne.text = [userDefaults objectForKey:@"InputOne"]; 
textInputTwo.text = [userDefaults objectForKey:@"InputTwo"]; 

+0

おかげで非常に多く、これは、そんなに感謝を助けて正常に動作する必要があります再び! –

1

ます(アプリが閉じている場合は特に)、データを保存したい場合はNSUserdef aultsはそれを行うのに素敵で簡単な方法です。他のオプションには、自分のplistファイルに書き込むか、コアデータストアを設定するなどがありますが、2つの数値を保存するだけで、すべてが必要であるかどうかはわかりません。

関連する問題