swift - 尝试从核心数据加载时在 swift 中发现 nil

标签 swift core-data

enter image description here

代码之前 - 用于传入新数据 ...

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/

相关文章:

ios - Swift 数组在多线程环境中写入时复制

ios - Swift - 从 url 获取文件大小

swift - Pusher Swift 成员添加/删除事件

ios - 如何将核心数据对象同步到 Objective C 中的 Web 服务

ios - Google map SDK - 核心数据

ios - 导航 Controller 和TableView : NavBar Hidden after hidden = true one time

iphone - Swift:将字符串转换为整数

objective-c - 在 Document 的 ArrayController 中访问 appdelegate 的 managedObjectContext

ios - 如何用新的核心数据替换相同的字符串

iOS - 多对多数据混淆?