-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

您将旧的手动登录方法与相当新的视图控制器方法混合在一起,尽管两者仍然有效。

如果您按照教程进行操作,请使用 PFUser 上的测试来决定是否应该显示登录控制器。如果您是 IOS 新手,那么您将需要复习一下协议和委托,因为您会看到它经常使用的模式。

基本上,协议是一组预定义的方法,它们允许两个对象一起工作,但对彼此知之甚少。所以它允许对象非常模块化和抽象。委托是一个对象通知另一个希望使用协议一起工作的对象的一种方式。

当你启动解析登录视图控制器时,你必须将自己设置为它的委托,一旦你这样做了,你就可以从它那里收到关于某人登录成功或失败的消息。

因此,您只需启动它,将自己设置为代表,然后展示它。

当用户成功登录时,解析登录视图控制器将向您发送一条消息,寻找某个方法是否存在。如果你有它,那么它将被调用(如果没有,可能会崩溃)。因此,在这种情况下,在呈现解析登录视图控制器的视图控制器中,您还应该实现(通过让它们在那里)登录成功方法和登录失败方法。我在下面展示登录成功方法。如果你实现它,第一行将关闭登录视图控制器。然后,您可能会在完成块中或在其下方添加一个方法调用来启动您的程序。

// 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 回答