【发布时间】:2020-03-31 18:19:58
【问题描述】:
我在我的应用程序中使用 Core Data。所以我试试。像这样实现和依赖注入。但我有一些错误。 “线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)”。这是代码和调试器图片。
import UIKit
import CoreData
class NoteDraftViewController: UIViewController {
@IBOutlet weak var noteTableView: UITableView!
var managedObjectContext: NSManagedObjectContext!
override func viewDidLoad() {
super.viewDidLoad()
noteTableView.dataSource = self
}
}
.
import UIKit
import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
//3.5 aris video
//how to context can be created
let mainContext = createMainContext()
let fisrtViewContoller = getFirstViewController()
fisrtViewContoller.managedObjectContext = mainContext
return true
}
func getFirstViewController() -> NoteDraftViewController {
//Get the window's root view controller (which is navigation controller)
let navigationController = window?.rootViewController as! UINavigationController //Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
// Get the navigation controller's first view controller
// Cast it to a ShoutOutDraftsViewController and return
let firstVC = navigationController.viewControllers[0]
return firstVC as! NoteDraftViewController
}..........
【问题讨论】:
-
我的项目中有 swift 5.0 版本