0
我從多個遠程文件中的一個讀取數據到coredata。如果更改遠程文件,則核心數據中的數據需要更新。例如,假設一個文件充滿部門,另一個充滿員工。 隨着公司重組,一個部門被重新命名,第二個沒有員工的部門被刪除。員工文件沒有更改,所以我只想重新讀取部門的文件。在我的代碼中,我讀取文件,從coredata中獲取部門並更新其名稱屬性。但由於第二部門不在文件中,我想從核心數據中刪除它。 我的僞代碼解決方案如下:從核心數據中刪除多餘數據的有效方法
- 部門實體得到了hasChanged從文件中讀取之前的屬性
- ,所有hasChanged屬性設置爲false
- 如果一個部門是存在於文件中,其hasChanged屬性設置爲true
- 讀取文件後,用hasChanged各部門屬性設置爲false被取出,並刪除
不知何故,似乎不是很有效率。刪除所有部門並構建新部門似乎效率不高,因爲核心數據將刪除所有部門的員工,現在我必須重新讀取員工(也可能是所有其他文件)。
有沒有更好的方法來解決這個數據變得多餘的問題?如果你用代碼回答,swift更可取。
員工和公司是否有唯一的ID?實際上是 –
部門,但是他們確實如此。 – KvdLingen
你在控制服務器的api嗎?會暗示與服務器的API應該只返回變化的變化是毫無意義的,因爲你無法控制它。 –