Hem*_*Odd 2 core-data ios xmppframework swift
我XMPPFramework在 Swift 中使用库,它使用 Core Data 提供消息历史存储。我正在尝试使用以下函数从存储中请求存档消息:
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)")
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我执行该函数时,我收到以下错误:
错误域=NSCocoaErrorDomain 代码=134060 “发生核心数据错误。” UserInfo={message=不能在范围内没有 NSManagedObjectContext 的情况下获取}
我无法理解为什么会发生这种情况,因为我在代码中正确设置了上下文。如果有人能帮助我理解这里出了什么问题,我将不胜感激。
小智 5
尝试更换
request.entity = entityDescription
do {
var messages = try request.execute()
print("Archived Messages: \n\(messages)")
} catch let error {
print("Error fetching chat history: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
和
do {
let messages = try context.fetch(request)
print("Archived Messages: \n\(messages)")
} catch {
print("Error fetching chat history:", error)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |