我是新来的堆栈溢出,这是我的第一个职位,所以请耐心对待我!
我有我的软件后方和软件前方设置,他们的工作完美。
然而,当我尝试创建一个表格视图时,我发现当我尝试滑动或甚至按下按钮访问右菜单时,应用程序崩溃,而打印到日志时没有任何错误。
(我在两个单独的swift文件中有两个数组,rearVc和rightVC链接到两个单独的表格视图SWU rear和SWU right)
我在网上搜索了一周(我所有的谷歌超链接都是紫色的!!)似乎根本找不到答案。我以为把这段代码(在我后面的显示表vc中)复制到我右边的表vc中可以工作,但不幸的是没有!
(代码为SWIFT,由于我不知道obj c,所以我使用了swrevealvc的桥接头)

import Foundation

class rearTableVC: UITableViewController {

var rearTableArray = [String]()

override func viewDidLoad() {

    rearTableArray = ["a", "b", "c", "d", "e", "f"]

}

    override func tableView(tableView: UITableView,   numberOfRowsInSection section: Int) -> Int {
    return rearTableArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier(rearTableArray[indexPath.row], forIndexPath: indexPath) as UITableViewCell

    cell.detailTextLabel?.text = rearTableArray[indexPath.row]

    return cell
}
}

如你所见,我正在使用“cell.detailTextLabel”?.text“这样,我在main.storyboard中构建的定制原型单元将填充我的列表。
两者都正确地链接到我的导航控制器以及其他场景。
我知道那部分很好,我只是被代码卡住了。
在我的根视图控制器im运行这段代码,它就像一个魅力,所以没有问题。
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];


rightViewController:(UIViewController *)rightViewController;


_performTransitionOperation:SWRevealControllerOperationReplaceRightController withViewController:rightViewController animated:NO];

线
编辑2(请求的信息)
#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;
}

10-06 02:54