最近,每次运行我的应用程序时,我一直都收到错误提示: 线程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
}()