0
我有一個表格顯示Event
(核心數據支持的對象)。我有另一個表格顯示Ticket
。活動有很多門票。NSFetchedResultsController正在接收關係更改的didChangeObject?
當我創建新票證時,將其保存到持久性存儲中,控制Event
的表格視圖會收到didChangeObject
通知。我不想要它。表格視圖應該關心的事實並沒有改變。我碰巧創建/更改/修改了一些票據,根據Time Profiler的說法,通過處理那些didChangeObject,我在主線程上失去了一些寶貴的時間。
我調試它,它似乎發生在這裏:
ticket.event = event;
我之前和行之後設置斷點,po
「荷蘭國際集團的ticket.managedObjectContext.updatedObjects
到控制檯,事件,只要我分配出現事件到票。
您是否有(推薦)事件和票證之間的反向關係設置?如果是這樣,這就是觸發事件更新通知的原因。相關對象的更改不會觸發FRC,但關係中的更改將會(因爲該關係是相關對象的屬性)。 – Avi
我是。好吧,這是有道理的,因爲我可以預見許多你想要通知的情況....也許我可以嘗試使用不同的託管對象上下文,並改變我保存到持久存儲的方式。 – JBlake
當視圖消失時,將fetchedresultscontroller.delegate設置爲nil,然後將其設置回來並在viewWillAppear上執行reloadData/performFetch會是一個不錯的解決方案嗎?這是否解決了我的性能問題? – JBlake