gpt4 book ai didi

swift - UIApplication.sharedApplication().delegate as! AppDelegate EXC_BREAKPOINT

转载 作者:行者123 更新时间:2023-11-30 13:03:57 33 4
gpt4 key购买 nike

我正在尝试使用 CoreData 来保存数据,今天当我尝试测试应用程序时,我收到消息:“ fatal error :在展开可选值时意外发现 nil”和 EXC_BREAKPOINT 消息。

class ViewController: UIViewController {

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedObjectContext: NSManagedObjectContext = appDelegate.managedObjectContext <-- Here is the error

如果我使用 UIApplication.sharedApplication().delegate 作为! AppDelegate 从 AppDelegate 调用任何其他函数我得到同样的错误。有人知道解决办法吗?

最佳答案

在初始化期间,不保证AppDelegate可用。将 managedObjectContext 声明为隐式解包可选,并在 viewDidLoad

中分配值
class ViewController: UIViewController {

var managedObjectContext: NSManagedObjectContext!

override func viewDidLoad()
{
super.viewDidLoad()
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
managedObjectContext = appDelegate.managedObjectContext
}

}

或者在类的顶层将变量声明为延迟初始化。

lazy var managedObjectContext : NSManagedObjectContext = {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
return appDelegate.managedObjectContext
}()

关于swift - UIApplication.sharedApplication().delegate as! AppDelegate EXC_BREAKPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39611208/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com