在 NSManagedObject class 上具有 fetchRequest 功能的原因是什么

What is the reason for having function for fetchRequest on an NSManagedObject class

在我的应用程序中,我正在为我的核心数据实体之一使用手动代码生成。这样做时,我让 Xcode 为我生成 class 和扩展文件,其中一个文件具有以下代码块:

@nonobjc public class func fetchRequest() -> NSFetchRequest<Sensor> {
    return NSFetchRequest<Sensor>(entityName: "Sensor")
}

我可以删除它,一切似乎都正常,但我在 Core Data 使用它的地方读到它才能正常运行。所以我的问题是:这个块到底在做什么,实体的正常功能是否需要它?

这是一个方便的工厂方法,可以创建安全的获取请求类型

let request : NSFetchRequest<Sensor> = Sensor.fetchRequest()

按照便利初始化语法

let sensor = Sensor(context: context)

不需要。