2016-08-23 35 views
1

我是堆棧溢出新手,這是我的第一篇文章,請耐心等待我!如何在main.storyboard中創建原型單元格的數組,填充右邊的swreveal視圖控制器

我有我的sw_rear和sw_front設置,他們完美的工作。

但是,當我試圖創建一個表格視圖填充原型單元格爲我的sw_right鏈接到一個數組單獨的我在我的sw_rear我發現,當我試圖刷卡,甚至按下按鈕訪問右側菜單應用程序崩潰沒有任何錯誤打印到日誌。

(我有2個獨立的迅速文件rearVc & rightVC連接到2個獨立的tableviews sw_rear 2個陣列& sw_right)

我在網上搜索了上週(我所有的谷歌的超鏈接是紫色的!)和斜面似乎找到了答案。我認爲複製這個代碼(在我的後面顯示錶vc)到我的右表vc會工作,但不幸的是它不!

(編碼的SWIFT,僅供參考我使用了橋接報爲swrevealvc因爲我不知道的obj C)

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 
} 
} 

,你可以看到使用IM「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()) 

} 

} 

任何幫助非常感謝,我更願意添加任何需要的信息!

感謝。

(對不起,我不能添加圖片)

+0

你寫了你失敗後沒有調試輸出。墜毀時標記爲紅色的線是什麼?它包含什麼? – pedrouan

+0

您是否已經設置並將Storyboard中的所有原型單元命名爲'a','b'...'f'? – pedrouan

+0

因此,我們不會在標題中加入「已解決」。我們對我們自己的問題發表了一個答案,以便稍後幫助人們。 – Almo

回答

0

SOLUTION: 喜拐彎抹角了幾個小時後,我終於找到了解決辦法,一個非常非常難以忍受的簡單解決方案。 在SWRevealViewController.m中缺少三個重要部分。我根本不知道obj-​​c,但認爲這些行缺少右視圖控制器的代碼,所以在添加它們之後一切正常!

- (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; 
} 
+0

@pedrouan當然現在加入 – YUragun

+0

@pedrouan增加了額外的信息:) – YUragun

相關問題