根据新的核心数据变化,Xcode为我生成了以下子类:
extension Person {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
return NSFetchRequest<Person>(entityName: "Person");
}
@NSManaged public var name: String?
}
然后在代码中,我希望这一行可以工作:
let fr = Person.fetchRequest()
然而,上面这行代码给了我一个错误:
"Ambiguous use of 'fetchRequest'
这解决了问题:
let fr: NSFetchRequest<Person> = Person.fetchRequest()
那么,我很困惑什么是:
NSFetchRequest<Person>
在:
@nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
返回类型到底在做什么?
返回类型是否应该允许我不必指定:
NSFetchRequest<Person>
在let定义中??
let fr: NSFetchRequest<Person> = Person.fetchRequest()
有人能帮我理解为什么需要它,尽管它已经是返回类型的一部分了吗?