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;
}
내가받는 경고에 대한 아래의 의견을 참조하십시오.
오, 그게 실제로 작동 할 수있다 ... 그 코드의 일부를보기에는 너무 어려울 까? 그렇다면 큰 문제는 아닙니다. 그 생각을하지 않았다! – STANGMMX
나는 지금 내 앱 코드를 가지고 있지 않지만 storyboards를 사용한다면 MyPFQueryTableViewController를 앱 위임 응용 프로그램의 초기보기로 설정합니다. application didFinishLaunchingWithOptions : MyPFQueryTableViewController의 viewDidLoad를 초기화하면 rootViewController로 설정됩니다. loginViewController 그리고 그것을 제시하십시오. – Dos43
달콤한. 나는 오늘 밤 소용돌이를 낼거야. 그때까지 이걸 열어두고 잘 지켜야 겠어. PFLoginViewController는 UIViewController에서 "상속"하지 않습니까? 나는 그것이 내가 이것을 할 수 있다고 생각하지 않는 이유라고 생각한다. – STANGMMX