一個簡單的tableviewController,爲空。可以從按鈕啓動的模式。 tableview的數據源中沒有數據,並且沒有顯示行。numberOfSectionsInTableView僅在tableview爲空的情況下在viewDidLoad中被請求
我打開模式,用它來添加一個項目,然後返回到tableview控制器。 tableview會自動更新,並顯示新行。
我添加了第二項。表格視圖不會自動更新。
我可以通過在numberOfSectionsInTableView中記錄來判斷,即使我去添加第一個項目並取消,tableview刷新 - 它要求顯示段數,行數和單元格的數量(如果有的話)。但如果表中有一個預先存在的行,則不行。
我掃了我的代碼,但無法找到任何會導致tableview知道什麼時候第一個項目被添加,但沒有任何事後。
任何想法?
編輯 - 我進一步縮小我的問題,所以將在短期內關閉這一點,併發布了一個更具體的問題在Why does an empty tableView check the number of sections but a non-empty one does not?
如果tableview沒有找到數據,那麼調用它的dataSource可能會更積極些。當你添加數據時,意味着我相信你已經更新了支持數據源的數據模型,你是否發出insertRow消息,或者要求tableView重新加載它的數據。查看類文檔 - 有很多事情可以告訴tableView dataSource已更改。 –
我至今都沒有 - 事實上,我做不到。假設我想要插入動畫,我需要插入一行。但是,如果tableView已經提前完成並且爲我完成了這個操作(它只對第一行添加),我將會崩潰。這一定是我的代碼中可疑的東西 - 我已經在其他TVC中確認numberOfSections不會自動調用。 –
有趣 - 我前幾天做了一個測試,馬上就打電話給它 - 空桌子在這裏做另一個問題的測試。它可能是當它在後臺或隱藏的插入等得到所有搞砸了。你可以試試「reloadData」,看看它是否有效,如果有的話,稍後再討論。 –