致命错误:在SWIFT中解包可选值时意外发现nil

时间:2016-04-09 10:54:59

标签: swift core-data

当我实现获取的托管对象核心数据代码时,我收到此包装错误。我意识到这可能是由于我的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
}()

1 个答案:

答案 0 :(得分:2)

不知道为什么每个人都拒绝在问题上发布实际的答案

您的变量managedObjectContextnil。在访问此惰性变量之前,您可能没有正确地注入它。

在错误行上放置一个断点,并确认您的managedObjectContext变量为nil,然后回溯以找到您应该设置它的位置。