当我实现获取的托管对象核心数据代码时,我收到此包装错误。我意识到这可能是由于我的managedObjectContext中需要数据但是在我的代码中引发了更多错误..还有其他想法吗?
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NSFetchedResultsControllerDelegate {
let ReuseIdentifierToDoCell = "ToDoCell"
@IBOutlet weak var tableView: UITableView!
var managedObjectContext: NSManagedObjectContext!
lazy var fetchedResultsController: NSFetchedResultsController = {
// Initialize Fetch Request
let fetchRequest = NSFetchRequest(entityName: "Item")
// Add Sort Descriptors
let sortDescriptor = NSSortDescriptor(key: "createdAt", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
// Initialize Fetched Results Controller
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
// Configure Fetched Results Controller
fetchedResultsController.delegate = self
return fetchedResultsController
}()
答案 0 :(得分:2)
不知道为什么每个人都拒绝在问题上发布实际的答案。
您的变量managedObjectContext
为nil
。在访问此惰性变量之前,您可能没有正确地注入它。
在错误行上放置一个断点,并确认您的managedObjectContext
变量为nil
,然后回溯以找到您应该设置它的位置。