【问题标题】:NSFetchedResultsController Crash When Setting the Controller设置控制器时 NSFetchedResultsController 崩溃
【发布时间】:2016-11-19 08:53:10
【问题描述】:

这是我正在运行的代码,我使用控制台消息确定它在 let frc 命令运行时崩溃。有趣的是,我有另一个项目,我使用或多或少相同的代码并且它可以工作,但我不知道我在做什么有什么不同。希望这里有人对此有一些可能的见解吗?

//Create fetchedResultsController to handle Inventory Core Data Operations
    lazy var fetchedResultsController: NSFetchedResultsController<Workorders> = {
        return self.setFetchedResultsController()
    }()
func setFetchedResultsController() -> NSFetchedResultsController<Workorders>{
        print("setFetchedResultsController()")

        let context = gm_getContext()
        let workordersFetchRequest: NSFetchRequest<Workorders> = Workorders.fetchRequest()

        print("set fetch request")

        let frc = NSFetchedResultsController <Workorders>(
            fetchRequest: workordersFetchRequest,
            managedObjectContext: context,
            sectionNameKeyPath: nil,
            cacheName: nil)

        print("set the frc")

        frc.delegate = self

        return frc
    }

我查看了 Apple 的文档,它说我可以将 sectionNameKeyPath 设置为 nil 并将缓存设置为 nil,所以我不确定我做错了什么。

【问题讨论】:

  • 您能否启用异常断点并显示崩溃的确切位置?
  • 如果您查看我的屏幕截图,我知道它会因为控制台消息而崩溃。我可以设置断点,但你希望在哪一行设置?
  • 顺便问下如何设置异常断点?我知道如果我单击编辑器左侧的行号,它会创建一个,但不确定我在寻找什么信息。不过,我会打印出整个日志。哦,刚刚看到您的评论,让我一秒钟阅读该链接...
  • @JosephAstrahan 你从上面的评论中查看了这篇文章吗?

标签: ios swift core-data swift3 nsfetchedresultscontroller


【解决方案1】:

来自苹果文档:

获取请求。这必须包含至少一个排序描述符 排序结果

【讨论】:

  • 是的,我添加了 let primarySortDescriptor = NSSortDescriptor(key: "lastname", ascending: true)//默认假设名称。感谢您的帮助,永远不会猜到这一点。我以某种方式在文档中错过了这一点......
猜你喜欢
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-03
  • 2020-09-08
  • 2017-04-10
相关资源
最近更新 更多