2016-09-19 8 views
1
public func subscribe<T: PFObject>(subclassType: T.Type = T.self) -> Subscription<T> { 
    return Client.shared.subscribe(self) 
} 

Fehler: Erweiterung einer generischen Objective C-Klasse kann zur Laufzeit nicht auf die generischen Parameter der Klasse zugreifen.Swift 3 Generische Parameter

Irgendwelche Vorschläge bitte? Es ist eine Erweiterung für PFQuery.

+0

Hier ist ein Hinweis https://swift.org/migration-guide/ (suchen Sie nach dieser genauen Fehlermeldung), aber für diesen Anwendungsfall (ich vermute, Sie versuchen, LiveQuery zu Swift3 zu migrieren?) Wird es wahrscheinlich beinhalten Ändern anderer Aspekte des Codes und nicht nur das isoliert. –

+0

Ja, ich versuche, LiveQuery zu swift 3 zu migrieren. Ich habe alle anderen Fehler geändert, ich habe nur noch eine übrig. –

Antwort

0

Ich machte das gleiche und blieb eine Zeit lang am selben Punkt stecken. Hier ist, was ich am Ende tun:

public func subscribe(_ subclassType: Any) -> Any { 
     return Client.shared.subscribe(self as! PFQuery<PFObject>, handler: Subscription<PFObject>()) as Subscription 
    } 

By the way, ich reichte einen anfänglichen PR für die Swift 3-Version von Livequery .. jede Hilfe wird sehr geschätzt! https://github.com/ParsePlatform/ParseLiveQuery-iOS-OSX/pull/68

+0

Danke, ich werde es jetzt versuchen! –