gpt4 book ai didi

ios - FetchRequest 数据错误问题

转载 作者:行者123 更新时间:2023-11-30 12:37:16 24 4
gpt4 key购买 nike

当我向 CoreData 的一个实体插入数据时,所有行均已成功插入(已保存)。

但是当我尝试使用 FetchRequest 获取数据时,即使插入的行数为 3 或 4 或任何值(超过 1),也只会收到一行数据。 未获取剩余行。当我打印获取结果时,

它说 - 错误

0:<EquipmentDetails: 0x6000000bad60> 
(entity: EquipmentDetails; id: 0xd000000000040000
coredata:/EquipmentDetails/p1> **data:fault>)**

我不明白核心数据后端发生了什么?

插入代码

func insertEqipToLocalDb()
{
let mobileNo : String = UserDefaults.standard.string(forKey: "phoneNumber")!

let equipDetailsItem = NSEntityDescription.insertNewObject(forEntityName: "EquipmentDetails", into:managedObjContext) as! EquipmentDetails

for (index,item) in array_IDEquip.enumerated()
{
equipDetailsItem.mobileNumber = mobileNo
equipDetailsItem.type = array_typeEquip[index]
equipDetailsItem.name = array_nameEquip[index]
equipDetailsItem.startDate = array_sDateEquip[index]
equipDetailsItem.endDate = array_eDateEquip[index]
equipDetailsItem.equpID = Int16(item)
equipDetailsItem.serviceDatesStr = array_serviceDateEquip[index]
}
do
{
try managedObjContext.save()
UserDefaults.standard.set("AlreadyInstalled", forKey: "statusInstallation")
}

catch
{
Exception.insertExceptionDetails(errorMsg: error as NSError, context: managedObjContext)
}
}

//获取代码

let request = NSFetchRequest<NSFetchRequestResult>()
let entity = NSEntityDescription.entity(forEntityName:"EquipmentDetails", in: managedObjContext)
request.entity = entity
do
{
let fetchResults = try managedObjContext.fetch(request)

for r in fetchResults
{
typeEquipArray.append((r as AnyObject).value(forKey: "type") as! String)
}
}
catch let error as NSError
{
Exception.insertExceptionDetails(errorMsg: error, context: managedObjContext)
}

最佳答案

在这一行:

let equipDetailsItem = NSEntityDescription.insertNewObject(forEntityName: "EquipmentDetails", into:managedObjContext) as! EquipmentDetails

您创建一个实例。在接下来的循环中,您在同一实例上一遍又一遍地设置typename等属性的值。然后保存更改,其中仅包括该一个对象。如果您希望每次循环时都有一个 EquipmentDetails 的不同实例,则需要在循环内创建该实例。

除非您尝试访问属性值并发现它们不存在,否则“故障”消息并不是错误。这是核心数据工作原理的一部分。有关更多详细信息,请参阅 Harshal Valanda 在评论中链接的答案。

关于ios - FetchRequest 数据错误问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42712530/

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