快速线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

问题描述 投票:0回答:1
@IBOutlet var folderPathAC: NSArrayController!
static var appDelegate = NSApplication.shared.delegate as! AppDelegate
static var context = appDelegate.persistentContainer.viewContext
override func viewDidLoad() {
   super.viewDidLoad()
   updateUITable()
   // Do any additional setup after loading the view.
}

func updateUITable(){
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "FolderPaths")
        //request.predicate = NSPredicate(format: "age = %@", "12")
        request.returnsObjectsAsFaults = false
        do {
            let result = try ViewController.context.fetch(request)
            for data in result as! [NSManagedObject] {
                let name = data.value(forKey: "folderName") as! String
                let path = data.value(forKey: "folderPath") as! String
                let folder = FolderPath(path: path, name: name)
                self.folderPathAC.addObject(folder)
          }

        } catch {

            print("Failed")
        }
    }

我正在使用上面的代码在macOS应用中启动应用时填充表格视图。但是,我在运行时在AppDeligate类中收到以下异常。

线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

我是Mac开发的新手。在这方面请帮助我。

ios swift xcode macos nstableview
1个回答
0
投票

最常见的原因是:

无法解开可选的选项-这可以是强制解开(!)或隐式解包(访问为nil的隐式解开的可选项。

由于值是nil可选值或因为值类型错误,所以强制转换失败(as!)。

© www.soinside.com 2019 - 2024. All rights reserved.