2017-04-21 51 views
0

我剛纔發現tableView.cellForRow(at: index)返回nil。即使出列單元,是否有任何方法可以獲得單元格?當單元格不可見時,CellForRow返回nil

編輯: 我想實現的是一個自定義副本,它將複製所有選定單元格的內容。例如,當選中行數等於3的單元格時,顯示一個顯示覆制按鈕的UIMenuController。如果選擇了第20行的單元格,則將選擇3到20之間的所有單元格,並且將在單元格編號20中啓用UIMenuController。單擊複製菜單時,將從數據源中獲取單元格內容。

一切工作正常,但有些時候我點擊複製菜單時出現UnsafeMutableRawPointer異常。我不完全知道錯誤何時發生。我試圖找到問題,並認爲該函數正在被釋放的單元格上調用,或者當我嘗試使用tableView.cellForRow(at:index)訪問單元格時。

+0

「有沒有辦法讓一個不存在的對象?」沒有... – DonMag

+0

提到一些代碼。 – KKRocks

+2

你問的是錯誤的問題。你爲什麼認爲你需要獲得一個不可見的細胞?你究竟在做什麼? – rmaddy

回答

2

不要嘗試複製單元格中的數據 - 從數據源中複製數據(驅動單元格的創建)。

您可以訪問選定的行tableView.indexPathsForSelectedRows(),然後查看數據源以提供單元格的內容。