2017-03-17 40 views
-3

我當前正在嘗試隱藏tableview標頭,如果該部分不返回任何行。這是我現在有,但它在運行時返回一個錯誤EXC_BAD_ACCESS:在該行if peopleImagesTableView.numberOfRows(inSection: 1) == 0 {當section0中的numberOfRows隱藏tableview標頭

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 
    let headerHeight: CGFloat 

    switch section { 
    case 0: 
     headerHeight = 0 
    case 1: 
     if peopleImagesTableView.numberOfRows(inSection: 1) == 0 { 
      headerHeight = 0 
     } else { 
     headerHeight = 40 
     } 
    default: 
     headerHeight = 0 
    } 
    return headerHeight 
    } 
+0

您需要返回浮點值。 –

+0

雖然代碼行導致錯誤? – rmaddy

+0

@rmaddy對不起,使一個答案。: –

回答

0

我覺得問題。因爲tableView(_:heightForHeaderInSection:)tableView(_:numberOfRowsInSection:)之前運行,所以它無法知道行數和應用程序崩潰。你應該檢查你的數據而不是調用numberOfRows函數。例如:

if data[1].count == 0 { 
    headerHeight = 0 
} else { 
    headerHeight = 40 
}