【发布时间】:2019-05-16 08:30:22
【问题描述】:
您必须原谅我,这个问题中可能没有代码,因为我不知道我会在这个问题中包含什么,所以请接受我的解释。
这是背景,我正在制作一个健身应用程序,用户可以在其中创建自己的锻炼。我已成功将锻炼保存到锻炼中,并且也成功保存了这些锻炼。在进行锻炼时,用户为该锻炼创建的锻炼列表在表格视图中提供,该表格视图由核心数据填充。
我的问题是当我尝试创建另一个锻炼时,它仍然会在表格视图中显示以前锻炼的锻炼,即使它们不是为此锻炼创建的。因此,用户必须在添加新练习之前手动删除所有旧练习。通过一些测试,我发现该表仅在运行我的 fetch() 函数后才获取填充它的信息,这意味着它可能会从我的持久存储容器中获取所有练习。如何在每次创建新锻炼时将表格清空而不牺牲已保存的锻炼?
感谢您的耐心等待。
【问题讨论】:
-
所有数据库都可以使用谓词过滤数据。将适当的
NSPredicate添加到您的NSFetchRequest -
您的
Workout应该有一个指向其Exercises 的引用字段。当您开始新的锻炼时,该列表将为空。
标签: ios iphone swift core-data swift4