所有,的UITableView細胞重新初始化每次在iOS的7
我希望大多數人都知道,與ios7有沒有需要做一個空支票的tableview重用
if (cell == nil) {
但遺憾的是,由於單元總是被重新初始化,因爲我們把代碼放在同一個初始化值的方法中。但問題是隻有在tableview中的文本字段。
讓我來解釋一下這個場景。我有一個包含多行的表格視圖,有些行包含多個文本框。當頁面加載時,我使用來自服務器的數據填充文本框。由於細胞總是被重新初始化,正如我上面所解釋的那樣,無論我在該領域輸入什麼都會消失,並且一旦向下滾動並回到初始階段,就會重新填充服務器數據。這是因爲填充數據代碼也是在同一個地方。獲取可重用單元后,它會填充數據。
此前直到iOS6的,我們使用如果(細胞==零),因此我們裝載在細胞內部服務器數據和再使用細胞時,這一段代碼將永遠不會被調用。
我有其他骯髒的解決方案,但想知道是否有其他人有一個優雅的方式來處理此問題。請幫忙。
您只是不在表格視圖單元格中存儲任何數據,而是在填充表格單元格的模型中存儲任何數據。這總是應該完成的方式。 – rckoenes
@rckoenes你的解決方案似乎是正確的。我們是否總是需要將模型與每個單元相關聯? – Kesava
這是最常用的方法,因爲'UITableViewCell'只是一個視圖,並且被iOS重用。從MVC的角度來看,然後是的,你應該總是使用一個模型。 – rckoenes