努力找到我的代碼出現故障的位置。在第一次查看加載時,一切正常,並且應該正常加載,但是當我重新訪問該視圖時,似乎前兩個單元格是空的。我在viewWillAppear:
中記錄了字典(dict),它記錄的數據很好,所以錯誤必須在cellForRow
方法中。看看我的方法,看看我錯了什麼,第三個單元填充第三個數據,所以我完全陷入困境,但前兩個單元完全是空白的,沒有數據。JSON,cellForRowAtIndexPath錯誤
0
A
回答
3
首先,爲什麼你做你的tableView:cellForRowAtIndexPath:
方法裏面所有的瘋狂UITableViewCell
定製的?創建一個自定義的UITableViewCell
子類並在那裏進行設置。
在該類的initWithStyle:
方法中,將所有子視圖添加爲CGRectZero
,因爲在初始化時,表視圖單元格不知道它有多大。您也可以在這裏設置文本對齊,顏色等。然後,在layoutSubviews
中,繼續並設置所有幀。覆蓋prepareForReuse
並將您的UIImageViews
設置爲零。這將有助於重複使用單元的性能。至於爲什麼你沒有在你的前兩個單元格中看到你的數據,我最初的想法是,它與你設置你的單元格重用的方式有關。如果返回的單元格是nil
,您要求您的tableView將一個常規的UITableViewCell
出列並僅創建所有這些子視圖。那麼當它返回UITableViewCell
時會發生什麼?你跳過你分配/初始化所有這些子視圖的部分,所以你基本上什麼也沒有添加到單元格中。我覺得如果你創建一個自定義的子類,並要求你的UITableView
取消,那麼,你會得到你正在尋找的結果。
注意:如果您的目標至少是iOS 5,則可以在筆尖創建UITableViewCell
的佈局,然後在表格視圖中註冊筆尖。這樣做可以保證你總是得到一個出隊單元,並且你不需要做if(cell == nil)檢查。如果您的目標是iOS 6,則可以註冊UITableViewCell
子類。
相關問題
- 1. 錯誤cellForRowAtIndexPath
- 2. UITable查看numberOfRowsInSection&cellForRowAtIndexPath錯誤
- 3. CellForRowAtIndexPath返回錯誤的單元格
- 4. UITableView cellForRowAtIndexPath被調用的順序錯誤
- 5. JSON錯誤
- 6. JSON錯誤
- 7. JSON錯誤
- 8. JSON錯誤
- 9. Xcode json錯誤
- 10. JSON turbolinks錯誤
- 11. JSON ObjectiveC - 錯誤
- 12. JSON錯誤
- 13. Rails:Datatables JSON錯誤
- 14. libGDX json錯誤
- 15. Python3 - JSON錯誤
- 16. json錯誤:parsererror
- 17. JSON:錯誤域
- 18. 錯誤當JSON
- 19. NodeJS JSON錯誤
- 20. JSON JsonConvert.DeserializeObject錯誤
- 21. JSON錯誤AFNetworking
- 22. CellForRowAtIndexPath方法中的單元格邊界錯誤
- 23. 返回的cellForRowAtIndexPath錯誤:不覆蓋從超
- 24. UITableView dataSource必須從tableView返回一個單元格:cellForRowAtIndexPath錯誤
- 25. UITableView DataSource必須從cellforRowAtIndexPath返回一個單元格錯誤
- 26. iPhone + cellForRowAtIndexPath
- 27. 的cellForRowAtIndexPath
- 28. JSON異常錯誤
- 29. jQuery AJAX json錯誤
- 30. JSON解析錯誤
我是新手,謝謝你的幫助!沒有太多想法如何做到這一點,你能告訴我一些示例代碼,非常感謝!非常感謝。 – rjg
所有排序,工作完美!謝了哥們。 – rjg
嘿,對不起,我沒有來顯示示例代碼,但我很高興你把它分類。 – jmstone617