Ios 使用自定义Swift NSManagedObject进行prepareForSegue:自定义类崩溃?

Ios 使用自定义Swift NSManagedObject进行prepareForSegue:自定义类崩溃?,ios,swift,core-data,crash,segue,Ios,Swift,Core Data,Crash,Segue,fetchedresultController不会在prepareForSegue中返回我的自定义nsmanagedObject 当我在tableView中添加一个新条目(调用“insertNewObject”的“+”按钮)时,将显示来自我的自定义对象的正确名称以及正确的文本。但是,当我单击该行执行segue时,出现了一个崩溃,exc断点,我单击continue,程序继续运行,没有添加更多信息 将nsmanagedObject强制转换为节类的代码: override func prepareFo

fetchedresultController不会在prepareForSegue中返回我的自定义nsmanagedObject

当我在tableView中添加一个新条目(调用“insertNewObject”的“+”按钮)时,将显示来自我的自定义对象的正确名称以及正确的文本。但是,当我单击该行执行segue时,出现了一个崩溃,exc断点,我单击continue,程序继续运行,没有添加更多信息

将nsmanagedObject强制转换为
类的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showDetail" {
        if let indexPath = self.tableView.indexPathForSelectedRow() {
            println("idx: \(indexPath) , objet : \(self.fetchedResultsController.objectAtIndexPath(indexPath))") //outputs ""
        let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as Section//NSManagedObject
            let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController

            //controller.detailItem = object
            controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
            controller.navigationItem.leftItemsSupplementBackButton = true
        }
    }
}





var fetchedResultsController: NSFetchedResultsController {
    if _fetchedResultsController != nil {
        return _fetchedResultsController!
    }
    let fetchRequest = NSFetchRequest()
    let entity = NSEntityDescription.entityForName("Section", inManagedObjectContext: self.managedObjectContext!)
    fetchRequest.entity = entity
    fetchRequest.fetchBatchSize = 20
    let sortDescriptor = NSSortDescriptor(key: "name", ascending: false)
    let sortDescriptors = [sortDescriptor]
    fetchRequest.sortDescriptors = [sortDescriptor]
    let aFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext!, sectionNameKeyPath: nil, cacheName: nil)
    aFetchedResultsController.delegate = self
    _fetchedResultsController = aFetchedResultsController

    var error: NSError? = nil
    if !_fetchedResultsController!.performFetch(&error) {
         abort()
    }
    return _fetchedResultsController!
}    
var _fetchedResultsController: NSFetchedResultsController? = nil




func insertNewObject(sender: AnyObject) { //this works
    let context = self.fetchedResultsController.managedObjectContext
    let entity = self.fetchedResultsController.fetchRequest.entity!

    let newManagedObject = NSEntityDescription.insertNewObjectForEntityForName(entity.name!, inManagedObjectContext: context) as Section

    newManagedObject.name = String("insert")        
    var error: NSError? = nil
    if !context.save(&error) {
        abort()
    }
}


func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) {
    let section = self.fetchedResultsController.objectAtIndexPath(indexPath) as Section
    cell.textLabel.text = section.name;//this works
}

你试过使用僵尸来确定崩溃的原因吗?我刚刚发现了僵尸,我启用了它,但是当bugg出现时,它并没有改变xcode中的窗口,我应该去某个地方看看僵尸说了什么吗?我试图删除强制转换
prepareForSegue
并让NSManagedObject,但println中的对象仍然是空的,仍然是相同的崩溃。