解析iOS麻烦解除登录视图

时间:2014-04-16 16:58:10

标签: ios objective-c parse-platform

我在我的应用程序(iOS)中遇到了一些非常非常麻烦的问题,但对于我的生活,我无法弄清楚为什么它会以这种方式运行。我想要做的就是在用户成功登录时解除loginViewController。我尝试了许多不同的方法,但无论我做什么,都不会调用logInController didLogInUser方法。登录仍然可以正常工作,但它只是不解除视图。我知道我在这里遗漏了一些非常简单的东西,但我不知道它是什么。任何人都可以帮我一把吗?

 - (void)viewDidLoad
{

PFLogInViewController *loginView = [[PFLogInViewController alloc] init];
if ([PFUser currentUser])
{
    [self performSegueWithIdentifier:@"loggedIn" sender:self];
}
else
{
    [self presentViewController:loginView animated:NO completion:nil];
}

[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user
{
[self dismissModalViewControllerAnimated:YES];
}

我一如既往地欣赏它。

1 个答案:

答案 0 :(得分:2)

我猜测你这样做之后:

PFLogInViewController *loginView = [[PFLogInViewController alloc] init];

你应该在某处添加:

loginView.delegate = self;

并确保在ViewController.h中添加

@interface YourViewController : UIViewController <PFLoginViewControllerDelegate>

只是为了清理一下,我改变了这个:

 - (void)viewDidLoad
{

PFLogInViewController *loginView = [[PFLogInViewController alloc] init];
if ([PFUser currentUser])
{
    [self performSegueWithIdentifier:@"loggedIn" sender:self];
}
else
{
    [self presentViewController:loginView animated:NO completion:nil];
}

[super viewDidLoad];
// Do any additional setup after loading the view.
}

To This:

 - (void)viewDidLoad
{

[super viewDidLoad];
// Do any additional setup after loading the view.

if ([PFUser currentUser])
{
    [self performSegueWithIdentifier:@"loggedIn" sender:self];
}
else
{
    PFLogInViewController *loginView = [[PFLogInViewController alloc] init];
    loginView.delegate = self;
    [self presentViewController:loginView animated:NO completion:nil];
}
}