我的tableviewcells之间有一个GADBannerView,我的横幅没有UITableViewCell的全宽,当我在tableviewcell的横幅外面点击我的应用程序崩溃了,因为在tableviewcell的详细信息中没有任何要接收的数据。我试图做一个bool逻辑,但它不起作用:
if !isAd {
let news = newsTeam[indexPath.row]
print(indexPath.row)
viewController.news = news
self.navigationController?.pushViewController(viewController, animated: true)
}
当我将表格视图单元格调用Ad.xib时,我设置了isAd = true。
使用此代码,当出现横幅的单元格出现时,禁用所有单元格。
答案 0 :(得分: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}
,就会停止进一步执行(将该代码放在最顶端以便提前退出)。