2015-11-10 137 views
2

我正在寫一個簡單的iOS應用程序,顯示歷史足球比分。目前,我正試圖阻止在歷史結果的表格視圖中出現重複的「匹配信息」對象(我的代碼根據遊戲的日期匹配今天的日期將匹配信息對象返回X年,有點像Timehop )。Swift:避免在CoreData中創建重複條目的最佳方法

這工作正常,但沒有檢查,看看上下文中是否存在匹配信息對象。如果用戶重新訪問「設置」菜單以選擇其他團隊的結果來查看並且不會取消選擇之前選擇的團隊,則會創建副本。

如果我的託管對象上下文已經包含帶有新對象數據的對象,那麼避免完全創建重複項的最簡單方法是什麼?

我使用的基本代碼實例化比賽信息對象:

let newManagedObject = NSEntityDescription.insertNewObjectForEntityForName(entity.name!, inManagedObjectContext: context) 

謝謝!

+1

這不是一個回答你的問題解決了這個問題。但我建議考慮試試Realm DB。它使用起來更方便,並且它具有豐富的查詢API。 – ProblemSlover

+0

您需要添加一個唯一的約束。你可以通過你的xcode的UI來完成。看看答案 http://stackoverflow.com/a/32814593/1163224 – ProblemSlover

回答

0

感謝您的幫助,我通過改變嘗試context.save的位置,其他地方的方法

+0

這可能現在工作,但你可能想要看看像@ProblemSlover建議的某種獨特的約束。有這將防止未來的問題。 – Bill