相关疑难解决方法(0)

SwiftUI:删除所有核心数据实体条目后,列表不会自动更新

我知道 SwiftUI 使用状态驱动渲染。所以我假设,当我删除核心数据实体条目时,我的包含核心数据元素的列表会立即刷新。我使用此代码,它成功地清理了我的实体:

func deleteAll()
{
    let fetchRequest: NSFetchRequest<NSFetchRequestResult> = ToDoItem.fetchRequest()
    let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)

    let persistentContainer = (UIApplication.shared.delegate as! AppDelegate).persistentContainer

    do {
        try persistentContainer.viewContext.execute(deleteRequest)
    } catch let error as NSError {
        print(error)
    }
}
Run Code Online (Sandbox Code Playgroud)

为了让我的视图中的列表视觉上为空,我必须在之后离开视图(例如使用“self.presentationMode.wrappedValue.dismiss()”)并再次打开它。好像这些值仍然存储在内存中的某个地方。这当然不是用户友好的,我确信我只是监督了一些可以立即刷新列表的内容。也许有人可以帮忙。

core-data swift swiftui

13
推荐指数
2
解决办法
3746
查看次数

我可以在具有删除规则的关系的实体上使用NSBatchDeleteRequest吗?

我正在尝试使用NSBatchDeleteRequest删除一堆实体,其中许多实体都删除了级联和/或无效规则.

我第一次尝试删除任何内容都失败了,我收到的NSError包括字符串"批删除不支持删除规则".我曾经认为删除这些东西很好,但我负责确保在保存之前满足所有约束条件.

我应该能够批量删除这些托管对象吗?(我想保留删除规则,其他删除路径没有简单的方法来知道要删除哪些对象集合)在这种情况下,某些类型的批删除工作是否正常,但其他人没有?(说谓词失败,但是对象ID列表有效吗?)

core-data

4
推荐指数
1
解决办法
1511
查看次数

标签 统计

core-data ×2

swift ×1

swiftui ×1