2013-02-27 2 views
0

Facebook에 성공적으로 로그인했습니다. 로그인보기는 UIViewController입니다. 난 단지 내가 성공적으로 로그인하면, 나는 PFQueryTableViewController를 볼 수있는 사용자를하고 싶습니다, 문제는Facebook 로그인 후 PFQueryTableViewController를 푸는 중 문제가 발생했습니다.

@interface LoginViewController : UIViewController <PFLogInViewControllerDelegate, PFSignUpViewControllerDelegate> 

를 사용하여 해석하고 '로그인 기능에 액세스 할 수 있습니다. 응용 프로그램은 모두 목록을 기반으로하므로 여기에 밀어 넣는 것이 좋습니다.

나는이 시도 :
- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user 
{ 
    [self dismissViewControllerAnimated:YES completion:^{ 
     NSLog(@"Successfully logged in."); 
     MyPFQueryTableViewController *controller = [[MyPFQueryTableViewController alloc] init]; 

     //Not sure what to do here... 


     }]; 

} 

원래 내가있는 TableView에 밀었다. 나는 그 코드를 삭제 한 이후 솔직히 내가 어떻게했는지 모른다.

하지만 UIViewController가 잠깐 보였고 PFQueryTableViewController가 나타납니다.

PFQueryTableViewController는 탐색 컨트롤러에 테이블이 포함되어 있어도 탐색 막대를 표시하지 않았습니다.

여기에 나는 내가 SEGUE 방법을 사용할 필요가 어쩌면 생각

#import "LoginViewController.h" 
#import <Parse/Parse.h> 
#import "MyPFQueryTableViewController.h" 

@interface LoginViewController() 

@end 

@implementation LoginViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 


- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
    PFLogInViewController *login = [[PFLogInViewController alloc] init]; 
    login.fields = PFLogInFieldsFacebook; 
    // Need to set the delegate to be this controller. 
    login.delegate = self; 
    login.signUpController.delegate = self; //signUpController is a property on the login view controller 
    [self presentModalViewController:login animated:NO]; 


// Do any additional setup after loading the view. 
} 



/* 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    UINavigationController *navigationController = segue.destinationViewController; 
    MyPFQueryTableViewController *controller = (MyPFQueryTableViewController *) 
    navigationController.topViewController; 


} 


- (void)viewDidAppear:(BOOL)animated 
{ 

    MyPFQueryTableViewController *controller = 
    [[MyPFQueryTableViewController alloc] initWithClassName:@"Lists"]; 
    [self presentViewController:controller animated:NO completion:nil]; 

} 
*/ 




//Four delegation methods below. 

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user 
{ 
    [self dismissViewControllerAnimated:YES completion:^{ 
     NSLog(@"Successfully logged in."); 
     MyPFQueryTableViewController *controller = [[MyPFQueryTableViewController alloc] init]; 

     //Not sure what to do here... 
    }]; 

} 

내 LoginViewController.m에 대한 코드,하지만 너무 확실하지 않다.

업데이트 : 대답 아래

당 나는 MyPFQueryTableViewController.m 파일에 presentModalViewController를 통해 로그인을 밀어 노력하고있어.

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Uncomment the following line to preserve selection between presentations. 
    // self.clearsSelectionOnViewWillAppear = NO; 

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
    PFLogInViewController *login = [[PFLogInViewController alloc] init]; 
    login.fields = PFLogInFieldsFacebook; 
    login.delegate = self; 
    login.signUpController.delegate = self; 
    [self presentModalViewController:login animated:NO]; 

    //self.navigationItem.rightBarButtonItem = self.editButtonItem; 
} 

내가받는 경고에 대한 아래의 의견을 참조하십시오.

답변

2

하나의 옵션은 초기보기 컨트롤러로 PFQueryTableViewController를 사용하고 응용 프로그램이 시작될 때 LoginViewController를 모달로 표시하는 것입니다. 이것은 내가 내 애플 리케이션 중 하나에서 구문 분석을 사용했을 때 내가 한 것이다.

+0

오, 그게 실제로 작동 할 수있다 ... 그 코드의 일부를보기에는 너무 어려울 까? 그렇다면 큰 문제는 아닙니다. 그 생각을하지 않았다! – STANGMMX

+0

나는 지금 내 앱 코드를 가지고 있지 않지만 storyboards를 사용한다면 MyPFQueryTableViewController를 앱 위임 응용 프로그램의 초기보기로 설정합니다. application didFinishLaunchingWithOptions : MyPFQueryTableViewController의 viewDidLoad를 초기화하면 rootViewController로 설정됩니다. loginViewController 그리고 그것을 제시하십시오. – Dos43

+0

달콤한. 나는 오늘 밤 소용돌이를 낼거야. 그때까지 이걸 열어두고 잘 지켜야 겠어. PFLoginViewController는 UIViewController에서 "상속"하지 않습니까? 나는 그것이 내가 이것을 할 수 있다고 생각하지 않는 이유라고 생각한다. – STANGMMX

관련 문제