处理CoreData时EXC_BAD_ACCESS代码= 2

时间:2019-11-30 00:26:47

标签: ios swift core-data exc-bad-access

最近,每次运行我的应用程序时,我一直都收到错误提示: 线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x16ee77ff4)

FO

该错误突出显示的行是:

func loadTrays(with request: NSFetchRequest<Tray> = Tray.fetchRequest()) {

    do {
        trayArray = try context.fetch(request)
        trayArray = trayArray.reversed()
    } catch {
        print("Error fetching data from context: \(error)")
    }
    trayCollectionView.reloadData()
}

我花了数小时通过SO和Google寻找解决方案,但没有找到解决方案。我还启用了Scheme中的Zombie对象,但未将任何输出输出到控制台。我意识到此错误通常是由于指针试图访问已释放的内存而导致的,或者指针可能已损坏。此外,如果有任何人可以推荐的资源来练习良好的内存管理技能/概念,请告诉我。此外,我注意到在调试导航器中,CPU使用率为99%。不确定是否相关?感谢您的帮助。

回复Gigi的评论:

永久容器(AppDelegate):

trayArray = try context.fetch(request)

我在带有子类UIView的类中声明“覆盖init”之前的上下文,该类用作弹出窗口:

lazy var persistentContainer: NSPersistentContainer = {

    let container = NSPersistentContainer(name: "Trayful_V2")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {

            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

0 个答案:

没有答案