Я собираюсь на это какое-то время, и мне бы хотелось услышать некоторые потенциальные решения. По сути, я пытаюсь включить правильное меню/навигацию, используя SWRevealViewController, но когда я пытаюсь войти в приложение и перейти на мой домашний экран/войти в систему, приложение выйдет из строя. Приложение не сбой, когда segue является модальным и т. Д. но он продолжает сбой, пока он настроен на соответствующий segue для плагина, который я сейчас использую.Swift/Objective C - performTransitionOperation Crash
Вот выход консоли, когда приложение падает:
2016-11-12 22: 21: 04,861 Свободно Рынок [16811: 3049283] *** Нагрузочного приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: '- [Freely_Market.LoginViewController _performTransitionOperation: withViewController: анимированные]: непризнанные селектор направил к экземпляру 0x7fc71950ea30'
для тех, кто будет интересно, что интерфейс приложения выглядит - здесь:
1 - это кнопка входа в систему, в которой пользователь затем переходит на следующий экран, ожидая, что их информация будет сохранена в системе.
2 является переход, sw_front
3 вошедшего в экране
4 является переход sw_right
5 является меню
В перетекает настроены должным образом, и я думаю, что я нахожусь на правильном пути, когда дело доходит до выяснения, в чем именно проблема.
Вот где ошибка, или где она находится кодирование с: \
- (void)perform
{
SWRevealControllerOperation operation = SWRevealControllerOperationNone;
NSString *identifier = self.identifier;
SWRevealViewController *rvc = self.sourceViewController;
UIViewController *dvc = self.destinationViewController;
if ([identifier isEqualToString:SWSegueFrontIdentifier])
operation = SWRevealControllerOperationReplaceFrontController;
else if ([identifier isEqualToString:SWSegueRearIdentifier])
operation = SWRevealControllerOperationReplaceRearController;
else if ([identifier isEqualToString:SWSegueRightIdentifier])
operation = SWRevealControllerOperationReplaceRightController;
if (operation != SWRevealControllerOperationNone)
[rvc _performTransitionOperation:operation withViewController:dvc animated:YES];
}
Так от того, что я могу сказать, приложение думает, что он использует этот селектор: _performtransitionOperation:withViewController:animated:]
Но это, очевидно, не Swift, и Objective-C. Поэтому я не совсем уверен, как заставить мой segue фактически действовать так, как должно.
Здесь вызывается вызов после проверки информации о пользователе.
} else if (username.isEqual(to: usernameV!) && password.isEqual(to: passwordV!)) {
self.performSegue(withIdentifier: "sw_front", sender: self)
И это где я застрял, может быть, это просто вопрос с Objective-C и Swift конфликтующих? Другие получили эту надстройку, чтобы работать нормально, без каких-либо проблем, но у меня ее нет. Может быть, это потому, что я проверяю информацию для входа в систему, а затем передаю ее на этот новый экран, где другие просто начинают с основного экрана.
Любая помощь приветствуется.