我是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.
}
}];
但我在登录/注册教程代码中没有看到类似的代码,只是关于协议和委托的内容?
您将旧的手动登录方法与相当新的viewcontroller方法混合在一起,尽管两者仍然有效。
如果您遵循教程,请使用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
}