в соответствии с новыми изменениями Core Data, 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()
Может кто-нибудь помочь мне понять, почему это необходимо, даже если часть возвращаемого типа уже существует?