我在Swift 3中有一個自定義的UITableViewCell(我們稱之爲MyCustomTableViewCell),它有一個標識符「CustomCell」。是否需要使用reuseIdentifier註冊自定義UITableViewCell?
如果我用我的自定義單元格不註冊它的重用,它工作正常
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! MyCustomTableViewCell
return cell
}
如果我嘗試通過
override func viewDidLoad() {
super.viewDidLoad()
myUITableViewThatIsIBOutlet.register(MyCustomTableViewCell.self, forCellReuseIdentifier: "CustomCell")
}
將其註冊爲重複使用,當我嘗試訪問表我得到了「致命錯誤:意外地發現零,而解包可選值」,我的自定義單元格中的UILabels顯示爲「無」(這可能是導致致命錯誤的原因)。
我註冊自定義單元格時發生了什麼錯誤,或者我不應該註冊自定義單元格以供重用?
你註冊的單元格標識符是故事板嗎? –
您需要爲表格手動註冊單元格的唯一時間是單元格是在xib文件中定義的,而不是在故事板中定義的,或者當您具有完全程序化的單元格時。 –
如果你通過它的類註冊一個單元格,它必須自己創建所有的子視圖。沒有什麼從故事板或筆尖加載。 @TusharSharma:按課程註冊與故事情節無關。 – clemens