2015-11-10 102 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