代码之前 - 用于传入新数据 ...
else
{
DispatchQueue.main.async
{
let fetchRequest:NSFetchRequest<Identity> = Identity.fetchRequest()
do {
self.identities = try DatabaseController.getContext().fetch(fetchRequest)
for identity in self.identities as [Identity]
{
if identity.id == self.transferedId
{
//name
self.navigationController?.navigationBar.topItem?.title = identity.pName
self.nameField.text = identity.pName
//birth
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
var dateString = dateFormatter.string(from:identity.birthDate! as Date)
self.birthField.text = dateString
//modified
dateString = dateFormatter.string(from:identity.lastModified! as Date)
self.modified.text = "Modified on "+dateString
}
}
}
catch
{
print("Error fetchRequest in ViewWillApper: \(error)")
}
}
}
... 它不会加载错误的窗口。 问题是 - 当我尝试加载此 ViewDidAppear 时...没有错误。但单独来看,这段代码在以前的 VIEW 上可以很好地获取数据。只有当我试图找出他们的线索时,我才会出错。
最佳答案
如果您的上下文是在主线程中创建的,则不能在后台使用它,反之亦然
关于swift - 尝试从核心数据加载时在 swift 中发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48142772/