Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用在main.storyboard中创建的原型单元阵列填充右侧swreveal视图控制器_Ios_Swift_Xcode_Uitableview_Swrevealviewcontroller - Fatal编程技术网

Ios 如何使用在main.storyboard中创建的原型单元阵列填充右侧swreveal视图控制器

Ios 如何使用在main.storyboard中创建的原型单元阵列填充右侧swreveal视图控制器,ios,swift,xcode,uitableview,swrevealviewcontroller,Ios,Swift,Xcode,Uitableview,Swrevealviewcontroller,我是新来的堆栈溢出,这是我的第一篇文章,所以请耐心等待我 我有我的sw_后方和sw_前方设置,它们工作完美 然而,当我尝试为我的sw_右键创建一个充满原型单元格的表视图时,我发现当我尝试滑动或甚至按下按钮访问右菜单时,应用程序崩溃,没有任何错误,打印到日志中 (我在2个独立的swift文件rearVc和rightVC中有2个数组,链接到2个独立的表视图sw\ U rear和sw\ U right) 我已经在网上搜索了一周(我所有的谷歌超链接都是紫色的!!),似乎根本找不到答案。我原以为将这段代码

我是新来的堆栈溢出,这是我的第一篇文章,所以请耐心等待我

我有我的sw_后方和sw_前方设置,它们工作完美

然而,当我尝试为我的sw_右键创建一个充满原型单元格的表视图时,我发现当我尝试滑动或甚至按下按钮访问右菜单时,应用程序崩溃,没有任何错误,打印到日志中

(我在2个独立的swift文件rearVc和rightVC中有2个数组,链接到2个独立的表视图sw\ U rear和sw\ U right)

我已经在网上搜索了一周(我所有的谷歌超链接都是紫色的!!),似乎根本找不到答案。我原以为将这段代码(在我的后启示表vc中找到)复制到我的右表vc中会起作用,但不幸的是没有

(以SWIFT编码,仅供参考,我使用swrevealvc的桥接头,因为我不知道obj c)

正如你所看到的,我正在使用“cell.detailTextLabel?.text”,这样我在main.storyboard中构建的定制原型单元格将填充我的列表

两者都正确链接到我的导航控制器以及其他场景

我知道那部分很好,我只是被代码卡住了

在我的根视图控制器中,我正在运行这段代码,它就像一个符咒,所以没有问题

import Foundation

    class aVC : UIViewController {

@IBOutlet var menuButtonLeft: UIBarButtonItem!
@IBOutlet var menuButtonRight: UIBarButtonItem!

override func viewDidLoad() {


    menuButtonLeft.target = self.revealViewController()
    menuButtonLeft.action = #selector(SWRevealViewController.revealToggle(_:))

    menuButtonRight.target = self.revealViewController()
    menuButtonRight.action = #selector(SWRevealViewController.rightRevealToggle(_:))

    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

}

}
非常感谢您的帮助,我更愿意添加任何需要的信息

谢谢

(抱歉,我无法添加图片)

解决方案: 嗨,在绕圈子转了几个小时后,我终于找到了一个解决办法,一个极其简单的解决办法。 在SWRevealViewController.m中,缺少三个重要部分。我根本不知道obj-c,但我认为这些行缺少rightViewController的代码,所以在添加它们之后,一切都正常了

- (id)init
{
return [self initWithRearViewController:nil frontViewController:nil rightViewController:nil];
}

 - (id)initWithRearViewController:(UIViewController *)rearViewController frontViewController:(UIViewController *)frontViewController rightViewController:(UIViewController *)rightViewController;
{
self = [super init];
if ( self )
{
    [self _initDefaultProperties];
    [self     _performTransitionOperation:SWRevealControllerOperationReplaceRearController withViewController:rearViewController animated:NO];
    [self    _performTransitionOperation:SWRevealControllerOperationReplaceFrontController withViewController:frontViewController animated:NO];
    [self _performTransitionOperation:SWRevealControllerOperationReplaceRightController withViewController:rightViewController animated:NO];
}
我只加了一句

return [self initWithRearViewController:nil frontViewController:nil rightViewController:nil];

线条

编辑2(请求的信息)

解决方案: 嗨,在绕圈子转了几个小时后,我终于找到了一个解决办法,一个极其简单的解决办法。 在SWRevealViewController.m中,缺少三个重要部分。我根本不知道obj-c,但我认为这些行缺少rightViewController的代码,所以在添加它们之后,一切都正常了

- (id)init
{
return [self initWithRearViewController:nil frontViewController:nil rightViewController:nil];
}

 - (id)initWithRearViewController:(UIViewController *)rearViewController frontViewController:(UIViewController *)frontViewController rightViewController:(UIViewController *)rightViewController;
{
self = [super init];
if ( self )
{
    [self _initDefaultProperties];
    [self     _performTransitionOperation:SWRevealControllerOperationReplaceRearController withViewController:rearViewController animated:NO];
    [self    _performTransitionOperation:SWRevealControllerOperationReplaceFrontController withViewController:frontViewController animated:NO];
    [self _performTransitionOperation:SWRevealControllerOperationReplaceRightController withViewController:rightViewController animated:NO];
}
我只加了一句

return [self initWithRearViewController:nil frontViewController:nil rightViewController:nil];

线条

编辑2(请求的信息)


您写道,失败后没有调试输出。当撞车时,标有红色的线是什么?它包含什么?您是否已设置并将故事板中的所有原型单元命名为“a”、“b”现在,我们没有在标题中加上“已解决”。我们为自己的问题发布了一个答案,以便日后对大家有所帮助。请不要在您的问题中包含解决方案,也不要添加“已解决”。您可以发布自己的答案,这是完全可以接受的。@pedrouan检查我的编辑我找到了一个解决方案,谢谢您的回答!!您写道,失败后没有调试输出。当撞车时,标有红色的线是什么?它包含什么?您是否已设置并将故事板中的所有原型单元命名为“a”、“b”现在,我们没有在标题中加上“已解决”。我们为自己的问题发布了一个答案,以便日后对大家有所帮助。请不要在您的问题中包含解决方案,也不要添加“已解决”。您可以发布自己的答案,这是完全可以接受的。@pedrouan检查我的编辑我找到了一个解决方案,谢谢您的回答@佩德罗:当然可以now@pedrouan添加额外信息:)@pedrouan肯定会添加now@pedrouan添加额外信息:)
_performTransitionOperation:SWRevealControllerOperationReplaceRightController withViewController:rightViewController animated:NO];
#pragma mark - Init

- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if ( self )
{
    [self _initDefaultProperties];
}    
return self;
}


- (id)init
{
return [self initWithRearViewController:nil frontViewController:nil rightViewController:nil];
}


- (id)initWithRearViewController:(UIViewController *)rearViewController frontViewController:(UIViewController *)frontViewController rightViewController:(UIViewController *)rightViewController;
{
self = [super init];
if ( self )
{
    [self _initDefaultProperties];
    [self     _performTransitionOperation:SWRevealControllerOperationReplaceRearController withViewController:rearViewController animated:NO];
    [self _performTransitionOperation:SWRevealControllerOperationReplaceFrontController withViewController:frontViewController animated:NO];
    [self _performTransitionOperation:SWRevealControllerOperationReplaceRightController withViewController:rightViewController animated:NO];
}
return self;
}