2016-09-28 2 views
1

Ich habe Protokoll mit NSFetchedResultsController EigenschaftSwift 3. NSFetchedResultsController Eigenschaft in Protokoll

protocol ProtocolName { 

    var frc: NSFetchedResultsController<NSManagedObject> { get } 

} 

Als ich mit diesem Protokoll implementieren Klasse starten und ändern NSManagedObject zu EntityName:

class MyClass: ProtocolName { 

    var frc: NSFetchedResultsController<EntityName> { get }  
} 

Xcode Fehlern erzeugt: Type 'MyClass' does not conform to protocol 'ProtocolName'

Ob es eine korrekte Möglichkeit gibt, ein Protokoll mit correc zu implementieren t generisch?

+0

Sie benötigen eine konkrete Instanz des Controllers zu initialisieren und sie bei der Umsetzung Rückkehr (bevorzugt lazily instanziiert) – vadian

Antwort

1

Ich reparierte Problem:

protocol ProtocolName { 

    associatedtype T: NSFetchRequestResult 

    var frc: NSFetchedResultsController<T> { get } 

} 

Nach der Zugabe von associatedtype alle Sterne funktionieren gut

Verwandte Themen