我有一個應用程序在首次啓動時導入XML文件以創建表。這在iOS 9中工作得非常好。在iOS 10中,它仍然正確導入所有數據,並正確執行提取,但表格不會顯示項目,直到我強制退出應用程序並再次打開。相反,它只是顯示xml文件中的第一項。當我點擊該項目時,它實際上將我帶到298個項目(這是不同的項目)的有序列表中的第一個項目。UITableview不再在初次導入後在iOS 10中刷新
鏈接到視頻顯示問題:reloading table issues
訂單:
- 1)應用上首次推出打開,提示用戶 「導入數據」。解析器 用於導入XML併成功運行XML(我可以打印 每個項目的日誌)。
- 2)App保存importContext並調用 tableView.reloadData
- 3)此時,數據應該在表中。 導航標題包含計數,這是正確的(298項)。 但是,該表中只有1個項目,即XML 文件中的第一個項目。
- 4)如果我點擊該項目,它將帶我到298項目列表中的第一項(不是 表中的項目)的 。 5)有趣的是,如果我執行搜索,則1 項目的名稱不會改變,但是如果我點擊它,它會將我帶到搜索項目I 。如果我搜索不同的物品並點擊表格中的1 物品,它會將我帶到新物品(但仍不會 更改現有物品的文本) - 因此,所有298物品都存在, 只是未顯示在桌子裏。
我已經打過電話
self.viewDidLoad
和
self.tableView.reloadData()
和
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reloadData()
}
,並呼籲使用NSNotificationCenter所有三種以上功能後的分析已完成與
NSNotificationCenter.defaultCenter().postNotificationName("performFetch", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.test), name: "performFetch", object: nil)
但是實際上並沒有重置tableView中的一個項目(這恰好是xml文件中的第一項。同樣,所有數據都在那裏,只是看不見。
如果我強制退出應用程序並打開它,所有數據都在那裏,可見並且工作得很好。有沒有不同的/新的方式來強制在iOS 10中刷新tableview?再次,這個功能在ios 9中運行良好,沒有代碼改變,但在ios 10中失敗。我還沒有升級到Swift 3.0,因爲它會很痛苦。
遇到與iOS 10.0類似的問題。2(它實際上開始與這個版本發生),但如果我滾動表,它會加載(有一些小故障,但它確實)。 – dccarmo
@dccarmo by glitch你的意思是重複數據嗎?多數民衆贊成在即時處理現在的問題 – Multinerd
@Multinerd我不記得,但我不認爲這是重複數據。 – dccarmo