我有一個類似於郵件應用程序的界面。左側帶有一列項目的表格視圖。當選擇左側的其中一個項目時,有關該項目的詳細信息顯示在右側。如何知道NSTableView何時完成(重新)加載其內容?
當我的應用程序中發生某些事件需要重新加載左表視圖中的數據時,當前選擇會丟失,然後正確的詳細視圖和左主視圖不同步。
我希望解決這個問題的方法是,當是時候重新加載表的數據,我將: 1.保存當前選擇的項目 2.重新加載表數據 3.處理委託方法或通知,讓我知道什麼時候重新加載完成。 4.通過在表中的新項目列表中找到適當的項目來重新選擇它。
不幸的是,我找不到任何方式來確定表完成重新加載。有沒有。任何方法來解決這個問題,或者b。這個問題更加優雅的解決方案?
謝謝。
更新:如果我的問題不清楚,想象你在郵件應用程序中,並且選擇了一些消息。該摘要單元格顯示爲在左側選定,並且該消息的詳細信息顯示在右側。假設新郵件出現在表格的頂部,並顯示爲新的單元格。您目前收看的留言是如何保留的,而不是取消選擇的?
難道你不能簡單地在[yourTableView reloadData]調用之後選擇適當的單元格嗎? –
不幸的不是(我也這麼認爲)。 reloadData只設置了一個位,表明表需要稍後重新加載表。它當時並不實際重新加載。所以問題是,我實際上並不知道重新加載何時完成。 –
這聽起來很奇怪,也與Apple的文檔不一致。無論如何,請注意表格視圖只會重新顯示那些可見的行。 –