У меня есть одно приложение просмотра, которое использует Parse для создания PFLogInViewController. Прежде чем доступ к BeaconViewController будет доступен, пользователь должен пройти аутентификацию с помощью Facebook - это работает нормально. Моя проблема связана с частью выхода - после того, как сеанс пользователя был уничтожен, мне нужно вернуть PFLogInViewController
. Я попытался выполнить это, нажав на RootViewController
, но это не решает проблему.Перезагрузка iOS View Controller
Я ссылался на this нить, а также this один, но снова не повезло.
Вот BeaconViewController.m
с аутентификации и выхода из системы логики
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
FBRequest *request = [FBRequest requestForMe];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
[self dismissViewControllerAnimated:YES completion:nil];
[self pictureRequest];
}
else if (error) {
NSLog(@"facebook session was invalid");
[self logoutButtonAction:nil];
PFLogInViewController *login = [[PFLogInViewController alloc] init];
login.fields = PFLogInFieldsFacebook;
login.delegate = self;
NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];
login.facebookPermissions = permissionsArray;
[self presentViewController:login animated:YES completion:nil];
}
else {
NSLog(@"Some other error: %@", error);
}
}];
}
- (IBAction)logoutButtonAction:(id)sender {
[PFUser logOut];
[self.navigationController popToRootViewControllerAnimated:YES];
}
FYI. 'viewDidLoad' и' viewDidAppear' не для вас. Они предназначены для вызова системы. –
Также, пожалуйста, объясните нижний предел - я изучил это как можно раньше и предоставил необходимые фоновые сведения. – Anconia
. Вы должны попытаться рассказать о своем вопросе более общим образом и отделить его от нерелевантных особенностей (PFViewController, Facebook, blah) ваш проект. В то же время вы оставляете существенную информацию (какой контроллер представляет этот контроллер). Хотя у меня есть идея, в чем причина вашей проблемы (вы не можете уволить и просмотреть контроллер вида с контроллера представления, который должен быть показан), решение этого заключается в том, чтобы прочитать основы контроллеров View, а не взломать ваши не хватает базовых знаний о правильном использовании контроллера представления: http://bit.ly/1pifOy5 – auco