gpt4 book ai didi

ios - SWRevealViewController 插入对象 :atIndex object cannot be nil

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:03:45 24 4
gpt4 key购买 nike

我是 Storyboard的新开发者。我尝试制作一个带有滑出式菜单的应用程序。为此,我使用库:SWRevealViewController 和教程:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/ .

我按照教程进行操作,但是我加载了应用程序,出现了这个错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

我的应用程序在此行崩溃:

  [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];

如何设置 self.revealViewController ?

这是我的 Storyboard更新:

enter image description here

为了理解我的应用程序,startviewController 用于下载和存储数据,下载后显示 mainViewcontroller。

我想要我的主视图 Controller 上的滑出菜单,但我做不到。

这里是我添加到 mainviewController viewdidload 的代码:

   - (void)viewDidLoad
{
[super viewDidLoad];
self.contentView.autoresizesSubviews = YES;
_sharedUser = [User sharedUser];

///slide out menu
// Change button color
//SWRevealViewController *revealViewController = [self.navigationController.storyboard instantiateViewControllerWithIdentifier:@"RevealViewController"];


_sidebarButton.tintColor = [UIColor redColor];

// Set the side bar button action. When it's tapped, it'll show up the sidebar.
_sidebarButton.target = self.revealViewController;
_sidebarButton.action = @selector(revealToggle:);

// Set the gesture
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];



//end slide out



self.contentView.backgroundColor = [UIColor cyanColor];


if (_sharedUser.tokenString) {

}
else{

[self showHomeWithoutLogginView];

}



}

最佳答案

我正在查看您正在学习的教程。根据您的屏幕截图, Storyboard中缺少一些内容。

RevealViewController 应该连接两个 Controller :前 View Controller (用于显示内容)和后 View Controller (用于显示导航菜单):

enter image description here

图片来源:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/

这些连接(segues)应该被标记为“reveal view controller”并且它们中的每一个都必须相应地命名:“sw_front”和“sw_rear”。

然后您必须在导航菜单(后 View Controller )中添加菜单项并将每个单元格连接到相应的 viewController,为 segues 命名并将它们标记为 SWRevealViewController 类。您可能希望将前 View Controller 连接到您希望首先显示的 viewController。

我强烈建议您按原样制作教程。我想我过去使用过它并且效果很好。如果您对此有任何疑问,请随时提出。

祝你好运!

关于ios - SWRevealViewController 插入对象 :atIndex object cannot be nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26041126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com