gpt4 book ai didi

ios - 保存时给出的 Realm 错误

转载 作者:行者123 更新时间:2023-11-28 16:09:58 25 4
gpt4 key购买 nike

我有一个像这样填充的数据库:

for defJson in listofDefinitions {
let newItemOfStock = Item()
print(defJson)
try! realm.write {
newItemOfStock.AverageCost = defJson["AverageCost"] as! Int
newItemOfStock.Barcode = defJson["Barcode"] as! String
newItemOfStock.Description = defJson["Description"] as! String
newItemOfStock.InternalUnique = defJson["InternalUnique"] as! Int
newItemOfStock.LastCost = defJson["LastCost"] as! Int
newItemOfStock.LimitToMainRegionUnique = defJson["LimitToMainRegionUnique"] as! Int
newItemOfStock.Notes = defJson["Notes"] as! String
newItemOfStock.StockCategoryUnique = defJson["StockCategoryUnique"] as! Int
newItemOfStock.StockCode = defJson["StockCode"] as! String
newItemOfStock.StockGroupUnique = defJson["StockGroupUnique"] as! Int
newItemOfStock.UnitDescriptor = defJson["UnitDescriptor"] as! String

self.newList.listOfItems.append(newItemOfStock)
}
}

但在我填充数据之前,我想删除仍然在 Realm 数据库中的旧数据,我称之为 func:

func cleanOldData() {
let itemListToBeRemoved = realm.objects(ListOfDefinitions)
let itemToBeRemoved = realm.objects(Item)
try! realm.write {
realm.delete(itemListToBeRemoved)
realm.delete(itemToBeRemoved)
}
}

但是如果我多次调用这个方法就会抛出这个错误:

'RLMException', reason: 'Adding a deleted or invalidated object to a Realm is not permitted'

我如何阻止这种情况发生并在填充之前仍然有一个干净的数据库

最佳答案

如果你真的想从你的 Realm 中删除所有数据(而不仅仅是特定类型的数据),你可以尝试使用 deleteAll() API:

try! realm.write {
realm.deleteAll()
}

关于ios - 保存时给出的 Realm 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39705893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com