ECSlidingViewController не первый просмотр
Мое приложение запускается с видом, который не используется ECSlidingViewController
, а затем есть кнопка для другого, который использует его.
При переключении видов с помощью Storyboard Segue
но я получаю ошибку.
Что я должен добавить к btnGoSecondView
загрузить ECSlidingViewController
должным образом?
Код:
-(IBAction)btnGoSecondView:(id)sender {
[self performSegueWithIdentifier:@"SecondViewShow" sender:self];
}
Ошибка:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
2 ответа
На основании ошибки вы получаете объект пытается вставить в изменяемый массив, но он не был инициализирован. Где в вашем коде выдается исключение?
Попробуйте выяснить, где к массиву обращаются и почему он нулевой. NSMutableArray, возможно, не был инициализирован, и в этом случае вам нужно будет инициализировать его.
NSMutableArray *arrayName = [NSMutableArray new];
Еще одна мысль: перед тем, как представить ECSlidingViewController, я думаю, вам нужно установить его topViewController. Вы можете добавить его в -prepareForSegue:sender: или в viewDidLoad представления viewController.
Возможно, что-то вроде этого:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
ECSlidingViewController *slidingViewController = (ECSlidingViewController *)segue.destinationViewController;
slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstTop"];
}
Я думаю, что вы должны сначала сделать некоторое начальное представление, и сделать это представление начальным контроллером представления и сделать идентификатор для каждого контроллера представления.
что-то вроде этого..
self.viewcontroller = [раскадровка instantiateViewControllerWithIdentifier:@"home"];