-1

私はobj-c/iOS / parseを初めて使用するので、これは基本的な質問です。

ログインとサインアップのコントローラーをコードに表示することができましたが、ユーザーがサインアップ/ログインした後、フックが自分のゲームコードを開始するためにどこに行くのかわかりませんか?iOSの解析ガイドには、次のようなコード例があります...

PFUser *currentUser = [PFUser currentUser];

if (currentUser) {

// do stuff with the user
} else {

// show the signup or login screen
}

また...

[PFUser logInWithUsernameInBackground:@"myname" password:@"mypass" block:(PFUser user, NSError error) {

if (user) {
    // Do stuff after successful login.
} else {
    // The login failed. Check error to see why.
}
}];

しかし、ログイン/サインアップのチュートリアルコードに同様のコードは表示されません。プロトコルとデリゲートに関するものだけですか?

4

1 に答える 1

1

古い手動ログインアプローチとかなり新しいviewcontrollerアプローチを混ぜ合わせたようなものですが、どちらもまだ有効です。

チュートリアルに従う場合は、PFUserのテストを使用して、ログインコントローラーを表示するかどうかを決定します。IOSを初めて使用する場合は、頻繁に使用されるパターンであるため、プロトコルとデリゲートをブラッシュアップする必要があります。

基本的に、プロトコルは事前定義された一連のメソッドであり、2つのオブジェクトが相互にほとんど知らずに、一緒に動作できるようにします。そのため、オブジェクトを非常にモジュール化して抽象化することができます。デリゲートは、プロトコルを使用して連携することを希望する1つのオブジェクトが他のオブジェクトに通知する方法です。

解析ログインビューコントローラを起動するときは、自分自身をそのデリゲートとして設定する必要があります。そうすると、ログインの成功または失敗に関するメッセージをそこから受信できます。

だから、あなたは単にそれを起動し、あなた自身を代表者として設定し、そしてそれを提示します。

ユーザーが正常にログインすると、解析ログインビューコントローラーは、存在する特定のメソッドを探しているメッセージを送信します。あなたがそれを持っている場合、それは呼び出されます(またはそうでない場合はクラッシュする可能性があります)。したがって、この場合、解析ログインView Controllerを提示しているViewControllerで、ログイン成功メソッドとログイン失敗メソッドも実装する必要があります(そこにそれらを配置することによって)。ログイン成功方法を以下に示します。これを実装すると、最初の行でログインビューコントローラが閉じられます。次に、メソッド呼び出しを追加して、プログラムを開始するために、おそらく完了ブロックまたはそのすぐ下に配置します。

// Sent to the delegate when a PFUser is logged in.
- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser    *)user {
[self dismissViewControllerAnimated:YES completion:NULL];
[self startMyApplication];  //example

}

于 2012-09-15T19:27:01.257 に答える