zgodnie z nowymi zmianami danych Core, Xcode generuje Podklasa ta dla mnie:Subclass.fetchRequest() Swift 3.0, rozszerzenie naprawdę nie pomaga w 100%?
extension Person {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
return NSFetchRequest<Person>(entityName: "Person");
}
@NSManaged public var name: String?
}
następnie w kodzie Spodziewałem się mieć tej pracy jedna linia:
let fr = Person.fetchRequest()
Ta linia kodu powyżej jednak wyskakuje mi błąd:
"Ambiguous use of 'fetchRequest'
to rozwiązuje problem:
let fr: NSFetchRequest<Person> = Person.fetchRequest()
Tak więc, jestem zdezorientowany co jest:
NSFetchRequest<Person>
w:
@nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
typ zwracany w ogóle robi?
nie powinien zwracany typ pozwala mi nie trzeba określać:
NSFetchRequest<Person>
w definicji let ??
let fr: NSFetchRequest<Person> = Person.fetchRequest()
Czy ktoś może mi pomóc zrozumieć, dlaczego jest potrzebny, mimo że jest już częścią typu zwrotu?
ok, więc gdzie utkniesz jest fakt, można powiedzieć, że typ zwracany jest również ogólny, ale to nie znaczy NSFetchRequest i nie NSFetchRequest , więc wydaje się, że osoba już wywieść ... –
zumzum
I napisał: ** Jeśli ** ... typem powrotu jest .. rodzajowy, to musi być opatrzony adnotacją. – vadian