2016-03-07 39 views
0

我在我的tableviewcells之間有一個GADBannerView,我的橫幅沒有UITableViewCell的全部寬度,當我在tableviewcell的橫幅外單擊時,我的應用程序崩潰了,因爲在tableviewcell的細節中沒有任何數據要接收。我試圖做一個布爾邏輯,但它不工作:如何禁用僅在單元格中的prepareForSegue和DidSelectRow?

if !isAd { 

     let news = newsTeam[indexPath.row] 
     print(indexPath.row) 
     viewController.news = news 

     self.navigationController?.pushViewController(viewController, animated: true) 
    } 

我設置了ISAD = TRUE的時候我會打電話給我的Ad.xib爲表視圖單元格。

與此代碼我禁用所有單元格,當有橫幅的單元格出現。

回答

0

在您的tableView的委託方法,你可以做這樣的事情:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    let cell = tableView.cellForRowAtIndexPath(indexPath) 

    if let _ = cell as? {YOUR_AD_CELL_CLASS}{ 
     return 
    } 

    } 

這樣,每當細胞類型{YOUR_AD_CELL_CLASS}你停止進一步執行(把這些代碼在最高層的早早出局) 。

+0

非常感謝the_critic,這對我真的很有用。非常感謝你。 –

+0

不客氣! –

相關問題