2011-09-05 6 views
0

私は、ルートビューコントローラーでモーダルビューを読み込む単純なアプリケーションを作成しています。そのモーダルビューには、ユーザーが選択するためのセグメント化されたコントロールがありますログインしたままにします。モーダルビューには、その下に送信ボタンがあるユーザー名とパスワードのフィールドがあります。アプリケーションがユーザを確認した後、ユーザは別のビュー、すなわち機能1、機能2などにユーザを向けるボタンを有するルートビューコントローラに移動する。ユーザが戻るボタンをタップすると(ナビゲーションコントローラによって駆動される)、私は、ユーザーが彼/彼女の資格情報を再びルートビューコントローラをロードするとき、したがってセグメント化されたコントロールの使用を要求されないようにします。UISegmentedコントロールを使用してユーザーをログインさせ続ける方法

この場合、セグメント化されたコントロールをどのように使用して実装できますか?ありがとう!

答えて

1

私はあなたがこれを実現したと仮定していますが、ログイン資格情報を保存する必要があります。あなたの質問は「方法!

アプリの終了時にログイン資格情報を保存する場合(アプリを終了するとログアウトされます)、Globalsクラスに変数を保存して、どこの場所からでも参照できるようにしますアプリ。

あなたが長く保存されたログイン資格情報を維持したい(彼らは閉じてアプリを再度開く場合、すなわち、彼らはまだログインすることができる)場合は、NSUserDefaultsを使用する必要があります。

執筆:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UserIsLoggedIn"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

読書:

BOOL loggedIn = [[NSUserDefaults standardUserDefaults] boolForKey:@"UserIsLoggedIn"]; 

もかかわらず、次の考慮事項に注意してください:

  • UserDefaultsは安全ではありません。パスワードを暗号化せずに保存しないでください。
  • boolForKey:戻っあなたが提供するキーはなぜuはUISegmentedControllerのために行くされている
+0

このチュートリアルをお寄せいただきありがとうございます。私はNSUserDefaultsを使って私のアプリでそれを実装する方法を見てみるつもりです。 :) – jsanmtosj

+0

ユーザのデフォルトでユーザ名とパスワードを保存するのは、あなたがクリアテキストで自分のパスワードを保存していることを実感するまで、すてきで簡単です:) –

+0

これは純粋なワイヤフレームなので、より良いセキュリティ実装は、Webサービスが行われるときにここで使用されます。 :) – jsanmtosj

0

存在しない場合はNO? RootViewControllerのナビゲーションバーのLogoutボタンとして単純なUIBarButtonItemを使用してください。
RootViewControllers viewWillAppear/viewDidAppearメソッドチェックwheatherユーザーが既にログインしているかどうか。これに基づいてモーダルビューが読み込まれます。

+0

私はそれを実装したいが、クライアントはUISegmentedControlを使用したい。 : – jsanmtosj

+0

ちょっとクライアントの要求のために単純なタスクが複雑になりました.. – Mahesh

+0

ええ、うまく実装できました。 – jsanmtosj

関連する問題