如何最好地管理CLLocationManager,MKMapView和地标

时间:2014-09-03 15:09:57

标签: ios login facebook-login launch

我有以下代码,如果用户已经登录(并链接到Facebook),我在Login.m视图控制器类中使用该代码绕过该屏幕。

对于上下文,我使用的是Parse Platform,因此引用了PFUser class。

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    // Check if user is cached and linked to Facebook, if so, bypass login
    if ([PFUser currentUser] && [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) {
        UITabBarController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"initialtabview"];
        [self presentViewController:tabController animated:NO completion:^(void){}];
    }
}

这当然有效,尽管用户在initialtabview出现之前会获得一个登录视图。

有什么方法可以避免这种情况吗?

请注意,我的应用程序当前已设置为Login视图是初始视图控制器。因此,我可以在didFinishLaunchingWithOptions的{​​{1}}中做些什么?

请注意,如果在AppDelegate中使用此代码,则代码将完全失效。

1 个答案:

答案 0 :(得分:0)

我认为有两种方法可以解决您的问题:
1.您可以尝试viewDidLoad:方法中的代码块,该方法在viewDidAppear:之前调用 2.您可以使用InitialTableView启动应用,只有在用户未缓存或链接到Facebook时才会加载Login.m视图。然后在InitialTableView我更喜欢viewDidLoad:函数来呈现登录视图。