2013-04-15 92 views
0

我使用核心數據將對象存儲在我的應用程序中。基本上我存儲對用戶有價值的對象,例如用戶喜歡的東西或他想去的地方。這些對象與用戶本人之間存在着隱藏的關係。一切都完全合乎邏輯。但是現在我想存儲(緩存)一些與用戶沒有直接關聯的數據,例如搜索請求的結果。這些對象大多隻在一個特定的地方使用,並可能有一些像緩存或類似的過期時間。所以我需要存儲這些對象,但將來可以將它們從存儲中移除。問題是這些對象與我的寶貴對象具有相同的實體。另一件事是,這些非貴重物品和一些有價值的物品之間可能存在關係。在iOS中存儲無價值數據

什麼是最好的方式來存儲這些無價值的對象,最重要的是從它們中清除核心數據存儲?

回答

0

這取決於你需要這些項目的用途。
基本上,這些是具有到期日期的項目(臨時對象),您可以在每個對象上使用時間戳,或者可以創建一個與您可以查詢的項目(一對一關係)相關的新實體按照您指定的條件刪除。
當您打開商店協調員時,您可以有一個清理規則(您需要實施),它將在後臺運行並刪除不再相關的項目(請確保不要將其顯示給用戶或訪問他們當你執行清理)。
儘量讓您在後臺清理並在不會影響用戶的時間執行清理。
在我看來,最好將這些項目標記爲隱藏,然後立即刪除它們,因爲刪除操作可能會阻止用戶界面。還要儘量減少你的刪除項目(並非所有的對象一次,但小批量的對象)