2016-04-09 13 views
-1

フェッチされた管理対象オブジェクトのコアデータコードを実装すると、このラッピングエラーが発生します。私はそれが私のmanagedObjectContextのデータを必要とすることが原因であるかもしれないが、私のコードで多くのエラーをスローすることを認識して..他のアイデア??SWIFTでオプションの値をアンラッピングしている間に致命的なエラーが発生しました。

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

あなたの 'managedObjectContext'が暗黙的にアンラップされたオプションである理由はありますか? (ちょうど "それは私のコードのエラーを消す" *良い理由ではありません)あなたはどこに値を割り当てていますか?暗黙のうちにアンラップされたオプションは、大切な注意を払って使用してください。私の[答えはこちら](http://stackoverflow.com/a/36360605/2976878)は、安全にオプションを扱うのに役立つかもしれません。 – Hamish

+0

あなたのコードのどの行でエラーが発生しましたか? –

+0

でlet fetchedResultsController = NSFetchedController – Leanneheal

答えて

2

誰もが疑問に実際の答えを投稿することを拒否理由はありません手掛かり。

変数managedObjectContextnilです。この遅延変数にアクセスする前に、適切に注入していない可能性があります。

エラー行にブレークポイントを置き、managedObjectContext変数がnilであることを確認してから、バックトレースして、設定する場所を見つけてください。

関連する問題