当前位置: 首页 > 面试题库 >

如何将类型应用于NSFetchRequest实例?

曹超
2023-03-14
问题内容

在Swift 2中,以下代码正在运行:

let request = NSFetchRequest(entityName: String)

但是在Swift 3中它给出了错误:

无法推断出通用参数“ ResultType”

因为NSFetchRequest现在是通用类型。他们在文件中写道:

let request: NSFetchRequest<Animal> = Animal.fetchRequest

因此,例如,如果我的结果类是Level我应该如何正确请求?

因为这不起作用:

let request: NSFetchRequest<Level> = Level.fetchRequest

问题答案:
let request: NSFetchRequest<NSFetchRequestResult> = Level.fetchRequest()

要么

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

根据您想要的版本。

您必须指定泛型类型,因为否则方法调用是不明确的。

第一个版本是为定义NSManagedObject,第二个版本是使用扩展名自动为每个对象生成的,例如:

extension Level {
    @nonobjc class func fetchRequest() -> NSFetchRequest<Level> {
        return NSFetchRequest<Level>(entityName: "Level");
    }

    @NSManaged var timeStamp: NSDate?
}

重点是删除String常量的用法。



 类似资料:
  • 问题内容: 我有一个简单的页面,其中包含一些iframe部分(以显示RSS链接)。如何将相同的CSS格式从首页应用到iframe中显示的页面? 问题答案: 编辑:除非设置了适当的CORS标头,否则这不能跨域工作。 这里有两件事:iframe块的样式和嵌入在iframe中的页面的样式。您可以按通常方式设置iframe块的样式: 必须通过将iframe中嵌入的页面样式包含在子页面中来进行设置: 或者可

  • 问题内容: 我希望两个名称不同的类在CSS中具有相同的属性。我不想重复代码。 由于两个类都在做同一件事,因此我应该能够将其合并为一个。我怎样才能做到这一点? 问题答案: 是您要寻找的。

  • 问题内容: 我正在使用 VB.NET 构建 ASP.NET MVC 应用程序,并且正在尝试使用以下代码将CSS类应用于: __ 但是,当我运行代码时,收到以下错误: 编译器错误消息:BC30988:类型或预期为。 我是 MVC的 新手,实际上我不太了解自己在做什么,所以我在其他地方使用基于示例的代码时,看不到那里出了什么问题。 问题答案: 它是: 在VB.net中,您可以使用设置匿名类型 并指出,

  • 问题内容: 我可以将2个类应用于单个div或span或任何html元素吗?例如: 我尝试过,但在我的情况下,c2没有得到应用。我如何一次申请两个课程? 问题答案: 1)在class属性内使用多个类,以空格(ref)分隔: 2)要定位包含所有指定类的元素,请使用以下CSS选择器( 不带空格 )(ref):

  • 我有一个带有多个作业的Spring Batch项目(作业a、作业B、作业C、…)。当我运行一个特定的作业a时,我得到的作业a的日志显示作业B、C、······也被创造了。是否有任何方法可以避免在启动作业A时创建其他bean。 我也把@lazy放在了@配置上,但它也起作用了。

  • 问题内容: 我有以下课程: 编译失败,并显示以下消息: 实例成员’categoriesPerPage’不能用于’ReportView’类型 这是什么意思? 问题答案: 您说的时候只是语法错误。该是没有必要的。 用 : 如果你只想 得到 就可以写 通过第一种方法,您还可以将观察者添加为 & 允许用作二传手