Ios 核心数据错误:在作用域中没有NSManagedObjectContext时无法获取
我在Swift中使用Ios 核心数据错误:在作用域中没有NSManagedObjectContext时无法获取,ios,swift,core-data,xmppframework,Ios,Swift,Core Data,Xmppframework,我在Swift中使用XMPPFramework库,它使用核心数据提供消息历史存储。我正在尝试使用以下功能从存储器中请求存档邮件: func getChatHistory() { guard let context = xmppMessageStorage.mainThreadManagedObjectContext else {return} var entityDescription = NSEntityDescription.entity(forEntityName: "X
XMPPFramework
库,它使用核心数据提供消息历史存储。我正在尝试使用以下功能从存储器中请求存档邮件:
func getChatHistory() {
guard let context = xmppMessageStorage.mainThreadManagedObjectContext else {return}
var entityDescription = NSEntityDescription.entity(forEntityName: "XMPPMessageArchiving_Message_CoreDataObject", in: context)
var request = NSFetchRequest<NSFetchRequestResult>(entityName: "XMPPMessageArchiving_Message_CoreDataObject")
request.entity = entityDescription
do {
var messages = try request.execute()
print("Archived Messages: \n\(messages)")
} catch let error {
print("Error fetching chat history: \(error)")
}
}
func getChatHistory(){
guard let context=xmppMessageStorage.mainThreadManagedObjectContext else{return}
var entityDescription=NSEntityDescription.entity(forEntityName:“XMPPMessageArchiving\u Message\u CoreDataObject”,在:context中)
var request=NSFetchRequest(entityName:“XMPPMessageArchiving\u Message\u CoreDataObject”)
request.entity=entityDescription
做{
var messages=try request.execute()
打印(“存档邮件:\n\(邮件)”)
}捕捉错误{
打印(“获取聊天记录时出错:\(错误)”)
}
}
但是,当我执行该函数时,我收到以下错误:
错误域=NSCOCAERRORDOMAIN代码=134060“A核心数据错误
发生。“UserInfo={message=没有
NSManagedObjectContext在作用域中}
我无法理解为什么会发生这种情况,因为我在代码中正确设置了上下文。如果有人能帮我理解这里出了什么问题,我将不胜感激。尝试替换
request.entity = entityDescription
do {
var messages = try request.execute()
print("Archived Messages: \n\(messages)")
} catch let error {
print("Error fetching chat history: \(error)")
}
与
do {
let messages = try context.fetch(request)
print("Archived Messages: \n\(messages)")
} catch {
print("Error fetching chat history:", error)
}