0

ビューコントローラーを切り替えるときに、テキストフィールドのテキストを永続的に保持できるようにしたいと考えています。
ログイン画面とログインを作っています。ただし、別のView Controllerに移動した後にログインView Controllerに戻ると、ログイン情報が消えます(View Controllerの新しいインスタンスであるためだと確信しています)。
私が望んでいるのは、ユーザーがログイン情報を入力してからログイン ビュー コントローラーに戻った場合に、情報を再入力する必要がないことです。

編集:ビューコントローラーを切り替えるための私のプログラムセグエのコードは次のとおりです:

SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
secondViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:secondViewController animated:YES completion:nil];
NSLog(@"Login SUCCESS");
4

3 に答える 3

0

これをプログラムの起動後も維持したい場合は、ログイン情報が変更されるたびにログイン情報を保存し、ログインビューコントローラーが読み込まれるたびに読み込んで、そこからテキストフィールド値を設定する必要があります。

情報は、いくつかの異なる方法で保存できます。

iOS キーチェーン キーチェーン
に情報を安全に保存する方法の例については、この SO の質問を参照してください:
iOS: アプリ内にユーザー名/パスワードを保存する方法は?

NSUserDefaults
(パスワードではなく) ユーザー名のみを保存する場合は、NSUserDefaults を使用できます。
良い例については、この質問を参照してください:
文字列を NSUserDefaults に保存しますか?

于 2013-07-29T04:25:38.850 に答える
0

ログイン コントローラーが最初のコントローラー、つまりウィンドウのルート ビュー コントローラーである場合、どのコントローラーがルートであるかを変更しない限り、割り当てが解除されません。これは、モーダル ビュー コントローラーを表示および非表示にしている場合には発生しません。別のモーダル プレゼンテーションを行うことで、SecondViewController からログイン コントローラーに「戻る」ことになると思います。それはあなたがしていることですか?もしそうなら、それは間違っています。あなたが疑ったように、ログインコントローラーの新しいインスタンスを作成します。代わりに、ログイン コントローラーに戻りたい場合は、SecondViewController を閉じる必要があります。ストーリーボードでセグエを使用するのではなく、コードでこれを行う必要があります。

于 2013-07-29T04:32:56.780 に答える