swift - Swift 中的核心数据属性重置

标签 swift core-data attributes

在我的应用程序中,我设置了一个名为“Finances”的核心数据实体。目前它有两个属性:金钱和净 Assets 。

我希望编写一个函数,每次调用它时,都会删除特定实体的所有结果。一个例子可能是:

    func resetAttribute(attribute: String) {

    }

PS:我在互联网上发现了一个函数,该函数被设计为仅删除与字符串匹配的属性的特定元素。我按以下方式修改了代码:

func resetTest() {
    if let dataAppDelegatde = UIApplication.shared.delegate as? AppDelegate {

        let mngdCntxt = dataAppDelegatde.persistentContainer.viewContext
        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "ApplicationFinances")
        let predicate = NSPredicate(format: "money != %@", "vdavduabsdpansuryiubj")

        fetchRequest.predicate = predicate

        do {
            let result = try mngdCntxt.fetch(fetchRequest)

            print(result.count)

            if result.count > 0 {
                for object in result {
                    print(object)
                    mngdCntxt.delete(object as! NSManagedObject)
                }
            }
        } catch{

        }
    }
}

这意味着如果钱不等于 vdavduabsdpansuryiubj (当然意味着永远不会),它就会删除其他值。但这似乎不起作用。

最佳答案

运行该函数时会发生什么?它会抛出错误吗?或者它打印得很好并且运行得很好,但是当您重新加载核心数据时实际上没有任何反应?如果是这种情况,请尝试添加:

do {
    try mngdCntxt.save()
} catch {}

for循环结束后

关于swift - Swift 中的核心数据属性重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104371/

相关文章:

ios - 如何在 Xcode 的 UI 测试中检查是否存在从网络显示的静态文本?

ios - 在实体中获取选定的属性

iphone - 核心数据: 3 table join?

ios - 包含 NSMutableArray 属性的核心数据对象?

magento - 有没有更简单的方法来获取属性的前端值?

variables - swift 闭包作为变量存储和访问

ios - 从字符串中删除换行符

ios - UICollectionViewCell 切换复选框

iphone - 获取永久 ID 后,核心数据无法为对象完成故障

ios - 将许多属性添加到我的 xdatamodel (iOS Core Data)