无法删除领域数据库中的对象 [英] Unable to delete an object in a realm database

查看:81
本文介绍了无法删除领域数据库中的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法删除领域数据库中的对象:我有以下异常:

I'm unable to delete an object in a realm database: I have following exception:

0x108196d6f:  movq   0x202112(%rip), %rcx      ; "exceptionWithName:reason:userInfo:"
0x108196d76:  leaq   0x1e6d0b(%rip), %rdx      ; @"RLMException"
0x108196d7d:  leaq   0x1e71c4(%rip), %rbx      ; @"Unable to delete an object not persisted in this Realm."

当我使用领域浏览器检查时,记录在数据库中!!!谁有同样的问题?

The record is in the database when I check with realm browser!!! Who had the same problem?

这是我的代码:

func deleteDatabase() {
    let realm = RLMRealm.defaultRealm()
    realm.beginWriteTransaction()
    for result in deleteUoMArray {
        var item = result as UoM
        var uomObject = UnitOfMeasurement()
        uomObject.guid = item.guid
        uomObject.unitOfMeasurement = item.unitOfMeasurement
        uomObject.selected = item.selected
        uomObject.index = item.index
        realm.deleteObject(uomObject)
    }
    realm.commitWriteTransaction()
}

推荐答案

如果您的目标是删除数据库中的所有对象(如deleteDatabase函数的名称所暗示的那样),则只需执行以下操作:/p>

If your goal is to delete all objects in the database, as the name of the deleteDatabase function would imply, all you need to do is call:

let realm = RLMRealm.defaultRealm()
realm.beginWriteTransaction()
realm.deleteAllObjects()
realm.commitWriteTransaction()

否则,如果deleteUoMArray是要删除的对象的ArrayRLMResultsRLMArray,则可以调用realm.deleteObjects(deleteUoMArray).

Otherwise, if deleteUoMArray is an Array, RLMResults, or RLMArray of objects to delete, you can call realm.deleteObjects(deleteUoMArray).

这篇关于无法删除领域数据库中的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆